Skip to content

Commit d87add4

Browse files
committed
refactored followers activity
1 parent d1323c9 commit d87add4

File tree

3 files changed

+13
-16
lines changed

3 files changed

+13
-16
lines changed

app/models/user.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ def self.find_or_create_from_oauth(oauth)
55
user.nickname = oauth.info.nickname
66
user.image_url = oauth.info.image
77
user.token = oauth.credentials.token
8+
user.followers =
89
user.save
910

1011
user

app/presenters/github_presenter.rb

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,24 @@ def initialize(user)
99

1010
def repos
1111
repos = service.find_user_repos(user).map {|data| build_object(data)}
12-
repo_name = repos.map {|repo| repo.name }
13-
repo_name
12+
repo_names = repos.map {|repo| repo.name }
1413
end
1514

15+
#This who is following the user
1616
def followers
1717
list = service.find_followers(user).map {|data| build_object(data)}
1818
followers = list.map {|follower| follower.login}
19-
followers
2019
end
2120

21+
#This is who the user follows
2222
def followees
2323
list = service.find_user_follows(user).map {|data| build_object(data)}
2424
followees = list.map {|followee| followee.login}
25-
followees
2625
end
2726

2827
def organizations
2928
list = service.find_user_organizations(user).map {|data| build_object(data)}
3029
organizations = list.map {|organization| organization.login }
31-
organizations
3230
end
3331

3432
def year_commits
@@ -58,7 +56,7 @@ def followers_activities
5856

5957
private
6058

61-
def build_object(data)
62-
OpenStruct.new(data)
63-
end
59+
def build_object(data)
60+
OpenStruct.new(data)
61+
end
6462
end

app/services/github_service.rb

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ def find_user_repos(user)
1111
parse(connection.get("users/#{user.nickname}/repos"))
1212
end
1313

14+
#This who is following the user
1415
def find_followers(user)
1516
parse(connection.get("users/#{user.nickname}/followers"))
1617
end
1718

19+
#This is who the user follows
1820
def find_user_follows(user)
19-
parse(connection.get("users/#{user.nickname}/following"))
21+
@follows ||= parse(connection.get("users/#{user.nickname}/following"))
2022
end
2123

2224
def find_user_organizations(user)
@@ -52,19 +54,15 @@ def followers_commit_message(name)
5254
events = list.select { |item| item[:type] == "PushEvent" }
5355
commits = events.map{ |event| event[:payload][:commits] }.flatten!
5456
messages = commits.collect{ |commit| commit[:message] }
57+
messages[0..2]
5558
end
5659

5760
def followers_activity(user)
58-
list = find_followers(user)
59-
names = list.collect {|item| item[:login] }
61+
names = @follows.collect {|item| item[:login] }
6062
messages = names.map do |name|
6163
followers_commit_message(name)
6264
end
63-
limited_messages = messages.map do |m|
64-
m[0..2]
65-
end
66-
final = names.zip(limited_messages)
67-
final
65+
final = names.zip(messages)
6866
end
6967

7068
def parse(response)

0 commit comments

Comments
 (0)