github-api-client 0.1.1.3 → 0.1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/github_api.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/ruby
2
- #$: << '../'
3
2
 
4
3
  require 'rubygems'
5
4
  gem 'github-api-client'
5
+ $:.unshift File.dirname(__FILE__) if Dir.pwd != Gem.loaded_specs['github-api-client'].full_gem_path # devel trick
6
6
  require 'net/http'
7
7
  require 'uri'
8
8
  require 'yaml'
@@ -45,6 +45,7 @@ module GitHub
45
45
  # @param [Array<Symbol>] things Things to fetch for GitHub::User
46
46
  # @option things [Symbol] :self Sync with GitHub Database
47
47
  # @option things [Symbol] :followers Map followers from GitHub Database
48
+ # @option things [Symbol] :followings Map user's followings from GitHub
48
49
  # @return [GitHub::User] Chainable, updated User
49
50
  # @see GitHub::User#get
50
51
  # @see GitHub::User#get_followers
@@ -53,6 +54,7 @@ module GitHub
53
54
  case thing
54
55
  when :self then get
55
56
  when :followers then get_followers
57
+ when :followings then get_followings
56
58
  end
57
59
  end
58
60
  self
@@ -66,7 +68,7 @@ module GitHub
66
68
  users = YAML::load(GitHub::Browser.get "/user/show/#{login}/followers")['users']
67
69
  i = 1
68
70
  users.each do |user|
69
- puts "#{users.length.to_s} / #{i.to_s} - Fetching followers"
71
+ puts "#{users.length.to_s.color(:green).bright} / #{i.to_s.color(:blue).bright} - Fetching followers"
70
72
  i = i + 1
71
73
  u = GitHub::User.find_or_create_by_login(user)
72
74
  self.followers.find_or_create u
@@ -76,10 +78,23 @@ module GitHub
76
78
  self
77
79
  end
78
80
 
81
+ def get_followings
82
+ users = YAML::load(GitHub::Browser.get "/user/show/#{login}/following")['users']
83
+ i = 1
84
+ users.each do |user|
85
+ puts "#{users.length.to_s.color(:green).bright} / #{i.to_s.color(:blue).bright} - Fetching followings"
86
+ i = i + 1
87
+ u = GitHub::User.find_or_create_by_login(user)
88
+ self.followings.find_or_create u
89
+ end
90
+ self
91
+ end
92
+
79
93
  public
80
94
  # Returns an array with logins of GitHub::User followers
81
95
  # @param [String] login GitHub login of which followers will be mapped
82
96
  # @return [Array<GitHub::User>] Followers
97
+ # @deprecated It should not support such way, there should be objects!
83
98
  def self.get_followers(login)
84
99
  users = YAML::load(GitHub::Browser.get "/user/show/#{login}/followers")['users']
85
100
 
metadata CHANGED
@@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version
6
6
  - 0
7
7
  - 1
8
8
  - 1
9
- - 3
10
- version: 0.1.1.3
9
+ - 4
10
+ version: 0.1.1.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - "Jakub Oko\xC5\x84ski"