Class: ConnectedDevelopers

Inherits:
Object
  • Object
show all
Defined in:
lib/developer_cliques/connected_developers.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(developers:, twitter_client:, github_client:) ⇒ ConnectedDevelopers

Returns a new instance of ConnectedDevelopers.



11
12
13
14
15
16
# File 'lib/developer_cliques/connected_developers.rb', line 11

def initialize developers:, twitter_client:, github_client:
  @twitter_client = twitter_client
  @github_client = github_client
  @developers = developers
  @organizations = {}
end

Instance Attribute Details

#developersObject (readonly)

Returns the value of attribute developers.



9
10
11
# File 'lib/developer_cliques/connected_developers.rb', line 9

def developers
  @developers
end

Instance Method Details

#followers(user_name) ⇒ Object



28
29
30
31
32
# File 'lib/developer_cliques/connected_developers.rb', line 28

def followers user_name
  follow_list = twitter_retry { @twitter_client.followers(user_name).entries.map{ |u| u.screen_name } }
  AppLogger.debug "FRIENDS: #{follow_list}"
  follow_list
end

#friends(user_name) ⇒ Object



22
23
24
25
26
# File 'lib/developer_cliques/connected_developers.rb', line 22

def friends user_name
  friends_list = twitter_retry { @twitter_client.friends(user_name).entries.map{ |u| u.screen_name } }
  AppLogger.debug "FRIENDS: #{friends_list}"
  friends_list
end

#graphObject



18
19
20
# File 'lib/developer_cliques/connected_developers.rb', line 18

def graph
  @graph ||= generate_graph
end

#organizations(user_name) ⇒ Object



34
35
36
# File 'lib/developer_cliques/connected_developers.rb', line 34

def organizations user_name
  @organizations[user_name] ||= @github_client.organizations(user_name).map{ |u| u. }
end