github-api-client 0.2.2 → 0.2.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/Gemfile +0 -1
- data/Gemfile.lock +0 -13
- data/Rakefile +0 -10
- data/VERSION +1 -1
- data/api-browser.rb +4 -2
- data/db/migrate/006_create_organizations_members.rb +12 -0
- data/features/fetching.feature +13 -0
- data/features/step_definitions/{github-api-client_steps.rb → fetching_steps.rb} +5 -5
- data/github-api-client.gemspec +4 -30
- data/lib/github-api-client.rb +2 -2
- data/lib/github-api-client/config.rb +2 -2
- data/lib/github-api-client/organization.rb +29 -0
- data/lib/github-api-client/user.rb +20 -0
- metadata +20 -149
- data/features/github-api-client.feature +0 -13
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,15 +1,3 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ./
|
3
|
-
specs:
|
4
|
-
github-api-client (0.2.2)
|
5
|
-
activerecord (>= 3.0.3)
|
6
|
-
activerecord (>= 3.0.3)
|
7
|
-
activesupport (>= 3.0.3)
|
8
|
-
rainbow
|
9
|
-
rainbow (>= 1.1)
|
10
|
-
sqlite3-ruby
|
11
|
-
sqlite3-ruby (>= 1.3.2)
|
12
|
-
|
13
1
|
GEM
|
14
2
|
remote: http://rubygems.org/
|
15
3
|
specs:
|
@@ -68,7 +56,6 @@ DEPENDENCIES
|
|
68
56
|
activesupport (>= 3.0.3)
|
69
57
|
bundler (>= 1.0.0)
|
70
58
|
cucumber
|
71
|
-
github-api-client!
|
72
59
|
jeweler (>= 1.5.2)
|
73
60
|
mocha
|
74
61
|
rainbow
|
data/Rakefile
CHANGED
@@ -13,7 +13,6 @@ require 'rake'
|
|
13
13
|
|
14
14
|
require 'jeweler'
|
15
15
|
Jeweler::Tasks.new do |gem|
|
16
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
17
16
|
gem.name = "github-api-client"
|
18
17
|
gem.homepage = "http://github.com/farnoy/github-api-client"
|
19
18
|
gem.license = "MIT"
|
@@ -21,15 +20,6 @@ Jeweler::Tasks.new do |gem|
|
|
21
20
|
gem.description = %Q{Caches retrieved information to your user profile and reuses it when you query again.}
|
22
21
|
gem.email = "kuba@okonski.org"
|
23
22
|
gem.authors = ["Jakub Okoński"]
|
24
|
-
gem.add_runtime_dependency('rainbow', '>=1.1')
|
25
|
-
gem.add_runtime_dependency('activerecord', '>=3.0.3')
|
26
|
-
gem.add_runtime_dependency('sqlite3-ruby', '>=1.3.2')
|
27
|
-
|
28
|
-
gem.add_development_dependency 'yard', '>= 0.6.0'
|
29
|
-
gem.add_development_dependency 'rspec', '>= 2.3.0'
|
30
|
-
gem.add_development_dependency 'cucumber'
|
31
|
-
gem.add_development_dependency 'bundler', '>= 1.0.0'
|
32
|
-
gem.add_development_dependency 'jeweler', '>= 1.5.2'
|
33
23
|
end
|
34
24
|
Jeweler::RubygemsDotOrgTasks.new
|
35
25
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.4
|
data/api-browser.rb
CHANGED
@@ -7,7 +7,8 @@ puts GitHub::Config::Version
|
|
7
7
|
|
8
8
|
unless ARGV.include? 'test'
|
9
9
|
# Dev temporary code here
|
10
|
-
p GitHub::Organization.get('github')
|
10
|
+
#p GitHub::Organization.get('github')
|
11
|
+
#p GitHub::Organization.get('github').fetch(:members).members.first.organizations
|
11
12
|
else # launches all-features code
|
12
13
|
# Performance tests
|
13
14
|
GitHub::Repo.get('mojombo/jekyll').fetch(:self, :watchers)
|
@@ -15,5 +16,6 @@ else # launches all-features code
|
|
15
16
|
GitHub::Repo.get('parndt/hub').parent.fetch(:self, :watchers).watchers
|
16
17
|
GitHub::User.get('kneath').fetch(:followers, :followings)
|
17
18
|
GitHub::User.get('defunkt').fetch(:followers, :followings)
|
18
|
-
GitHub::User.get('schacon').fetch(:
|
19
|
+
GitHub::User.get('schacon').fetch(:organizations).organizations
|
20
|
+
GitHub::Organization.get('github').fetch(:members).members
|
19
21
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Feature: Fetching Objects
|
2
|
+
In order to fetch objects from GitHub
|
3
|
+
I just need to request a function from a model
|
4
|
+
|
5
|
+
Scenario: Fetching user information
|
6
|
+
Given I want to fetch user "schacon"
|
7
|
+
Then my local database should contain that record
|
8
|
+
And that record's "name" should be "Scott Chacon"
|
9
|
+
|
10
|
+
Scenario: Fetching repo information
|
11
|
+
Given I want to fetch repo "mojombo/jekyll"
|
12
|
+
Then my local database should contain that record
|
13
|
+
And that record's "login" of the "owner" should be "mojombo"
|
@@ -4,23 +4,23 @@ Before do
|
|
4
4
|
end
|
5
5
|
end
|
6
6
|
|
7
|
-
Given /^I fetch user "(.*)"$/ do |login|
|
7
|
+
Given /^I want to fetch user "(.*)"$/ do |login|
|
8
8
|
@record = GitHub::User.get(login)
|
9
9
|
end
|
10
10
|
|
11
|
-
Given /^I fetch repo "(.*)"$/ do |permalink|
|
11
|
+
Given /^I want to fetch repo "(.*)"$/ do |permalink|
|
12
12
|
@record = GitHub::Repo.get(permalink)
|
13
13
|
end
|
14
14
|
|
15
|
-
Then /^
|
15
|
+
Then /^my local database should contain that record$/ do
|
16
16
|
@record.class.find(@record.id).should == @record
|
17
17
|
end
|
18
18
|
|
19
|
-
Then /^
|
19
|
+
Then /^that record's "([^"]*)" should be "([^"]*)"$/ do |sig, prop|
|
20
20
|
@record.send(sig.to_sym).should == prop
|
21
21
|
end
|
22
22
|
|
23
|
-
Then /^
|
23
|
+
Then /^that record's "([^"]*)" of the "([^"]*)" should be "([^"]*)"$/ do |sig, type, prop|
|
24
24
|
@record.send(type.to_sym).send(sig.to_sym).should == prop
|
25
25
|
end
|
26
26
|
|
data/github-api-client.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{github-api-client}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jakub Okoński"]
|
@@ -30,8 +30,9 @@ Gem::Specification.new do |s|
|
|
30
30
|
"db/migrate/003_create_repos.rb",
|
31
31
|
"db/migrate/004_create_repo_watchings.rb",
|
32
32
|
"db/migrate/005_create_organizations.rb",
|
33
|
-
"
|
34
|
-
"features/
|
33
|
+
"db/migrate/006_create_organizations_members.rb",
|
34
|
+
"features/fetching.feature",
|
35
|
+
"features/step_definitions/fetching_steps.rb",
|
35
36
|
"features/support/env.rb",
|
36
37
|
"gemspec.old.orig",
|
37
38
|
"github-api-client.gemspec",
|
@@ -65,7 +66,6 @@ Gem::Specification.new do |s|
|
|
65
66
|
s.add_runtime_dependency(%q<activerecord>, [">= 3.0.3"])
|
66
67
|
s.add_runtime_dependency(%q<activesupport>, [">= 3.0.3"])
|
67
68
|
s.add_runtime_dependency(%q<sqlite3-ruby>, [">= 0"])
|
68
|
-
s.add_development_dependency(%q<github-api-client>, [">= 0"])
|
69
69
|
s.add_development_dependency(%q<rspec>, [">= 2.3.0"])
|
70
70
|
s.add_development_dependency(%q<mocha>, [">= 0"])
|
71
71
|
s.add_development_dependency(%q<yard>, [">= 0.6.0"])
|
@@ -73,20 +73,11 @@ Gem::Specification.new do |s|
|
|
73
73
|
s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
|
74
74
|
s.add_development_dependency(%q<jeweler>, [">= 1.5.2"])
|
75
75
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
76
|
-
s.add_runtime_dependency(%q<rainbow>, [">= 1.1"])
|
77
|
-
s.add_runtime_dependency(%q<activerecord>, [">= 3.0.3"])
|
78
|
-
s.add_runtime_dependency(%q<sqlite3-ruby>, [">= 1.3.2"])
|
79
|
-
s.add_development_dependency(%q<yard>, [">= 0.6.0"])
|
80
|
-
s.add_development_dependency(%q<rspec>, [">= 2.3.0"])
|
81
|
-
s.add_development_dependency(%q<cucumber>, [">= 0"])
|
82
|
-
s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
|
83
|
-
s.add_development_dependency(%q<jeweler>, [">= 1.5.2"])
|
84
76
|
else
|
85
77
|
s.add_dependency(%q<rainbow>, [">= 0"])
|
86
78
|
s.add_dependency(%q<activerecord>, [">= 3.0.3"])
|
87
79
|
s.add_dependency(%q<activesupport>, [">= 3.0.3"])
|
88
80
|
s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
|
89
|
-
s.add_dependency(%q<github-api-client>, [">= 0"])
|
90
81
|
s.add_dependency(%q<rspec>, [">= 2.3.0"])
|
91
82
|
s.add_dependency(%q<mocha>, [">= 0"])
|
92
83
|
s.add_dependency(%q<yard>, [">= 0.6.0"])
|
@@ -94,21 +85,12 @@ Gem::Specification.new do |s|
|
|
94
85
|
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
95
86
|
s.add_dependency(%q<jeweler>, [">= 1.5.2"])
|
96
87
|
s.add_dependency(%q<rcov>, [">= 0"])
|
97
|
-
s.add_dependency(%q<rainbow>, [">= 1.1"])
|
98
|
-
s.add_dependency(%q<activerecord>, [">= 3.0.3"])
|
99
|
-
s.add_dependency(%q<sqlite3-ruby>, [">= 1.3.2"])
|
100
|
-
s.add_dependency(%q<yard>, [">= 0.6.0"])
|
101
|
-
s.add_dependency(%q<rspec>, [">= 2.3.0"])
|
102
|
-
s.add_dependency(%q<cucumber>, [">= 0"])
|
103
|
-
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
104
|
-
s.add_dependency(%q<jeweler>, [">= 1.5.2"])
|
105
88
|
end
|
106
89
|
else
|
107
90
|
s.add_dependency(%q<rainbow>, [">= 0"])
|
108
91
|
s.add_dependency(%q<activerecord>, [">= 3.0.3"])
|
109
92
|
s.add_dependency(%q<activesupport>, [">= 3.0.3"])
|
110
93
|
s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
|
111
|
-
s.add_dependency(%q<github-api-client>, [">= 0"])
|
112
94
|
s.add_dependency(%q<rspec>, [">= 2.3.0"])
|
113
95
|
s.add_dependency(%q<mocha>, [">= 0"])
|
114
96
|
s.add_dependency(%q<yard>, [">= 0.6.0"])
|
@@ -116,14 +98,6 @@ Gem::Specification.new do |s|
|
|
116
98
|
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
117
99
|
s.add_dependency(%q<jeweler>, [">= 1.5.2"])
|
118
100
|
s.add_dependency(%q<rcov>, [">= 0"])
|
119
|
-
s.add_dependency(%q<rainbow>, [">= 1.1"])
|
120
|
-
s.add_dependency(%q<activerecord>, [">= 3.0.3"])
|
121
|
-
s.add_dependency(%q<sqlite3-ruby>, [">= 1.3.2"])
|
122
|
-
s.add_dependency(%q<yard>, [">= 0.6.0"])
|
123
|
-
s.add_dependency(%q<rspec>, [">= 2.3.0"])
|
124
|
-
s.add_dependency(%q<cucumber>, [">= 0"])
|
125
|
-
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
126
|
-
s.add_dependency(%q<jeweler>, [">= 1.5.2"])
|
127
101
|
end
|
128
102
|
end
|
129
103
|
|
data/lib/github-api-client.rb
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'bundler/setup'
|
5
|
-
gem 'github-api-client'
|
6
5
|
|
7
|
-
|
6
|
+
ROOT = File.expand_path('../', File.dirname(__FILE__))
|
7
|
+
$:.unshift File.dirname(__FILE__)
|
8
8
|
|
9
9
|
require 'net/http'
|
10
10
|
require 'uri'
|
@@ -5,12 +5,12 @@ module GitHub
|
|
5
5
|
Path = {
|
6
6
|
:dir => ENV['HOME'] + "/.github",
|
7
7
|
:dbfile => ENV['HOME'] + "/.github/github.db",
|
8
|
-
:migrations =>
|
8
|
+
:migrations => ROOT + "/db/migrate",
|
9
9
|
:secrets => ENV['HOME'] + "/.github" + "/secrets.yml"
|
10
10
|
}
|
11
11
|
|
12
12
|
Version = File.read(
|
13
|
-
|
13
|
+
ROOT + "/VERSION"
|
14
14
|
)
|
15
15
|
VERSION = Version
|
16
16
|
|
@@ -1,5 +1,7 @@
|
|
1
1
|
module GitHub
|
2
2
|
class Organization < ActiveRecord::Base
|
3
|
+
has_and_belongs_to_many :members, :class_name => 'GitHub::User', :join_table => 'organizations_members'
|
4
|
+
|
3
5
|
def get
|
4
6
|
self.update_attributes(
|
5
7
|
GitHub::Base.parse_attributes(:org_get,
|
@@ -12,5 +14,32 @@ module GitHub
|
|
12
14
|
o = GitHub::Organization.find_by_login(login)
|
13
15
|
o ||= GitHub::Organization.new(:login => login).get
|
14
16
|
end
|
17
|
+
|
18
|
+
def fetch(*things)
|
19
|
+
things.each do |thing|
|
20
|
+
case thing
|
21
|
+
when :self then get
|
22
|
+
when :members then get_members
|
23
|
+
end
|
24
|
+
end
|
25
|
+
self
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
def get_members
|
30
|
+
members = YAML::load(GitHub::Browser.get "/organizations/#{login}/public_members")['users']
|
31
|
+
puts "Fetching members for #{"organization".color(:magenta).bright} #{self.login.color(:green).bright}"
|
32
|
+
i, count = 0, members.count.to_s.color(:green).bright
|
33
|
+
self.transaction do
|
34
|
+
members.each do |user|
|
35
|
+
i += 1
|
36
|
+
u = GitHub::User.find_or_create_by_login(user['login'])
|
37
|
+
self.members.find_or_create u
|
38
|
+
print "\r#{i.to_s.color(:yellow).bright}/#{count}"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
puts nil
|
42
|
+
self
|
43
|
+
end
|
15
44
|
end
|
16
45
|
end
|
@@ -5,6 +5,9 @@ module GitHub
|
|
5
5
|
has_and_belongs_to_many :followings, :foreign_key => 'following_id', :association_foreign_key => 'follower_id', :join_table => 'user_followings', :class_name => 'User'
|
6
6
|
has_many :repos, :class_name => 'GitHub::Repo', :foreign_key => 'owner_id'
|
7
7
|
|
8
|
+
# FIXME: Does GitHub allow a user to have multiple organizations?
|
9
|
+
has_and_belongs_to_many :organizations, :join_table => 'organizations_members'
|
10
|
+
|
8
11
|
# Fetches info about current_user from GitHub
|
9
12
|
# GitHub::User.new.build(:login => 'asd', :token => 'token').get #=> GitHub::User
|
10
13
|
# @return [GitHub::User] Chainable self object after syncing attributes with GitHub
|
@@ -62,6 +65,7 @@ module GitHub
|
|
62
65
|
when :self then get
|
63
66
|
when :followers then get_followers
|
64
67
|
when :followings then get_followings
|
68
|
+
when :organizations then get_organizations
|
65
69
|
end
|
66
70
|
end
|
67
71
|
self
|
@@ -103,6 +107,22 @@ module GitHub
|
|
103
107
|
self
|
104
108
|
end
|
105
109
|
|
110
|
+
def get_organizations
|
111
|
+
organizations = YAML::load(GitHub::Browser.get "/user/show/#{login}/organizations")['organizations']
|
112
|
+
puts "Fetching organizations for #{"user".color(:yellow).bright} #{self.login.color(:green).bright}"
|
113
|
+
i, count = 0, organizations.count.to_s.color(:green).bright
|
114
|
+
self.transaction do
|
115
|
+
organizations.each do |org|
|
116
|
+
i += 1
|
117
|
+
u = GitHub::Organization.find_or_create_by_login(org['login'])
|
118
|
+
self.organizations.find_or_create u
|
119
|
+
print "\r#{i.to_s.color(:yellow).bright}/#{count}"
|
120
|
+
end
|
121
|
+
end
|
122
|
+
puts nil
|
123
|
+
self
|
124
|
+
end
|
125
|
+
|
106
126
|
public
|
107
127
|
# Returns an array with logins of GitHub::User followers
|
108
128
|
# @param [String] login GitHub login of which followers will be mapped
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 4
|
9
|
+
version: 0.2.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- "Jakub Oko\xC5\x84ski"
|
@@ -73,22 +73,9 @@ dependencies:
|
|
73
73
|
type: :runtime
|
74
74
|
prerelease: false
|
75
75
|
version_requirements: *id004
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: github-api-client
|
78
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
79
|
-
none: false
|
80
|
-
requirements:
|
81
|
-
- - ">="
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
segments:
|
84
|
-
- 0
|
85
|
-
version: "0"
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: *id005
|
89
76
|
- !ruby/object:Gem::Dependency
|
90
77
|
name: rspec
|
91
|
-
requirement: &
|
78
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
92
79
|
none: false
|
93
80
|
requirements:
|
94
81
|
- - ">="
|
@@ -100,10 +87,10 @@ dependencies:
|
|
100
87
|
version: 2.3.0
|
101
88
|
type: :development
|
102
89
|
prerelease: false
|
103
|
-
version_requirements: *
|
90
|
+
version_requirements: *id005
|
104
91
|
- !ruby/object:Gem::Dependency
|
105
92
|
name: mocha
|
106
|
-
requirement: &
|
93
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
107
94
|
none: false
|
108
95
|
requirements:
|
109
96
|
- - ">="
|
@@ -113,10 +100,10 @@ dependencies:
|
|
113
100
|
version: "0"
|
114
101
|
type: :development
|
115
102
|
prerelease: false
|
116
|
-
version_requirements: *
|
103
|
+
version_requirements: *id006
|
117
104
|
- !ruby/object:Gem::Dependency
|
118
105
|
name: yard
|
119
|
-
requirement: &
|
106
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
120
107
|
none: false
|
121
108
|
requirements:
|
122
109
|
- - ">="
|
@@ -128,10 +115,10 @@ dependencies:
|
|
128
115
|
version: 0.6.0
|
129
116
|
type: :development
|
130
117
|
prerelease: false
|
131
|
-
version_requirements: *
|
118
|
+
version_requirements: *id007
|
132
119
|
- !ruby/object:Gem::Dependency
|
133
120
|
name: cucumber
|
134
|
-
requirement: &
|
121
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
135
122
|
none: false
|
136
123
|
requirements:
|
137
124
|
- - ">="
|
@@ -141,10 +128,10 @@ dependencies:
|
|
141
128
|
version: "0"
|
142
129
|
type: :development
|
143
130
|
prerelease: false
|
144
|
-
version_requirements: *
|
131
|
+
version_requirements: *id008
|
145
132
|
- !ruby/object:Gem::Dependency
|
146
133
|
name: bundler
|
147
|
-
requirement: &
|
134
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
148
135
|
none: false
|
149
136
|
requirements:
|
150
137
|
- - ">="
|
@@ -156,10 +143,10 @@ dependencies:
|
|
156
143
|
version: 1.0.0
|
157
144
|
type: :development
|
158
145
|
prerelease: false
|
159
|
-
version_requirements: *
|
146
|
+
version_requirements: *id009
|
160
147
|
- !ruby/object:Gem::Dependency
|
161
148
|
name: jeweler
|
162
|
-
requirement: &
|
149
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
163
150
|
none: false
|
164
151
|
requirements:
|
165
152
|
- - ">="
|
@@ -171,97 +158,10 @@ dependencies:
|
|
171
158
|
version: 1.5.2
|
172
159
|
type: :development
|
173
160
|
prerelease: false
|
174
|
-
version_requirements: *
|
161
|
+
version_requirements: *id010
|
175
162
|
- !ruby/object:Gem::Dependency
|
176
163
|
name: rcov
|
177
|
-
requirement: &
|
178
|
-
none: false
|
179
|
-
requirements:
|
180
|
-
- - ">="
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
segments:
|
183
|
-
- 0
|
184
|
-
version: "0"
|
185
|
-
type: :development
|
186
|
-
prerelease: false
|
187
|
-
version_requirements: *id012
|
188
|
-
- !ruby/object:Gem::Dependency
|
189
|
-
name: rainbow
|
190
|
-
requirement: &id013 !ruby/object:Gem::Requirement
|
191
|
-
none: false
|
192
|
-
requirements:
|
193
|
-
- - ">="
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
segments:
|
196
|
-
- 1
|
197
|
-
- 1
|
198
|
-
version: "1.1"
|
199
|
-
type: :runtime
|
200
|
-
prerelease: false
|
201
|
-
version_requirements: *id013
|
202
|
-
- !ruby/object:Gem::Dependency
|
203
|
-
name: activerecord
|
204
|
-
requirement: &id014 !ruby/object:Gem::Requirement
|
205
|
-
none: false
|
206
|
-
requirements:
|
207
|
-
- - ">="
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
segments:
|
210
|
-
- 3
|
211
|
-
- 0
|
212
|
-
- 3
|
213
|
-
version: 3.0.3
|
214
|
-
type: :runtime
|
215
|
-
prerelease: false
|
216
|
-
version_requirements: *id014
|
217
|
-
- !ruby/object:Gem::Dependency
|
218
|
-
name: sqlite3-ruby
|
219
|
-
requirement: &id015 !ruby/object:Gem::Requirement
|
220
|
-
none: false
|
221
|
-
requirements:
|
222
|
-
- - ">="
|
223
|
-
- !ruby/object:Gem::Version
|
224
|
-
segments:
|
225
|
-
- 1
|
226
|
-
- 3
|
227
|
-
- 2
|
228
|
-
version: 1.3.2
|
229
|
-
type: :runtime
|
230
|
-
prerelease: false
|
231
|
-
version_requirements: *id015
|
232
|
-
- !ruby/object:Gem::Dependency
|
233
|
-
name: yard
|
234
|
-
requirement: &id016 !ruby/object:Gem::Requirement
|
235
|
-
none: false
|
236
|
-
requirements:
|
237
|
-
- - ">="
|
238
|
-
- !ruby/object:Gem::Version
|
239
|
-
segments:
|
240
|
-
- 0
|
241
|
-
- 6
|
242
|
-
- 0
|
243
|
-
version: 0.6.0
|
244
|
-
type: :development
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: *id016
|
247
|
-
- !ruby/object:Gem::Dependency
|
248
|
-
name: rspec
|
249
|
-
requirement: &id017 !ruby/object:Gem::Requirement
|
250
|
-
none: false
|
251
|
-
requirements:
|
252
|
-
- - ">="
|
253
|
-
- !ruby/object:Gem::Version
|
254
|
-
segments:
|
255
|
-
- 2
|
256
|
-
- 3
|
257
|
-
- 0
|
258
|
-
version: 2.3.0
|
259
|
-
type: :development
|
260
|
-
prerelease: false
|
261
|
-
version_requirements: *id017
|
262
|
-
- !ruby/object:Gem::Dependency
|
263
|
-
name: cucumber
|
264
|
-
requirement: &id018 !ruby/object:Gem::Requirement
|
164
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
265
165
|
none: false
|
266
166
|
requirements:
|
267
167
|
- - ">="
|
@@ -271,37 +171,7 @@ dependencies:
|
|
271
171
|
version: "0"
|
272
172
|
type: :development
|
273
173
|
prerelease: false
|
274
|
-
version_requirements: *
|
275
|
-
- !ruby/object:Gem::Dependency
|
276
|
-
name: bundler
|
277
|
-
requirement: &id019 !ruby/object:Gem::Requirement
|
278
|
-
none: false
|
279
|
-
requirements:
|
280
|
-
- - ">="
|
281
|
-
- !ruby/object:Gem::Version
|
282
|
-
segments:
|
283
|
-
- 1
|
284
|
-
- 0
|
285
|
-
- 0
|
286
|
-
version: 1.0.0
|
287
|
-
type: :development
|
288
|
-
prerelease: false
|
289
|
-
version_requirements: *id019
|
290
|
-
- !ruby/object:Gem::Dependency
|
291
|
-
name: jeweler
|
292
|
-
requirement: &id020 !ruby/object:Gem::Requirement
|
293
|
-
none: false
|
294
|
-
requirements:
|
295
|
-
- - ">="
|
296
|
-
- !ruby/object:Gem::Version
|
297
|
-
segments:
|
298
|
-
- 1
|
299
|
-
- 5
|
300
|
-
- 2
|
301
|
-
version: 1.5.2
|
302
|
-
type: :development
|
303
|
-
prerelease: false
|
304
|
-
version_requirements: *id020
|
174
|
+
version_requirements: *id011
|
305
175
|
description: Caches retrieved information to your user profile and reuses it when you query again.
|
306
176
|
email: kuba@okonski.org
|
307
177
|
executables: []
|
@@ -325,8 +195,9 @@ files:
|
|
325
195
|
- db/migrate/003_create_repos.rb
|
326
196
|
- db/migrate/004_create_repo_watchings.rb
|
327
197
|
- db/migrate/005_create_organizations.rb
|
328
|
-
-
|
329
|
-
- features/
|
198
|
+
- db/migrate/006_create_organizations_members.rb
|
199
|
+
- features/fetching.feature
|
200
|
+
- features/step_definitions/fetching_steps.rb
|
330
201
|
- features/support/env.rb
|
331
202
|
- gemspec.old.orig
|
332
203
|
- github-api-client.gemspec
|
@@ -354,7 +225,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
354
225
|
requirements:
|
355
226
|
- - ">="
|
356
227
|
- !ruby/object:Gem::Version
|
357
|
-
hash:
|
228
|
+
hash: 664932785481870982
|
358
229
|
segments:
|
359
230
|
- 0
|
360
231
|
version: "0"
|
@@ -1,13 +0,0 @@
|
|
1
|
-
Feature: Fetching Objects
|
2
|
-
In order to fetch objects from GitHub
|
3
|
-
I just need to fire up few commands
|
4
|
-
|
5
|
-
Scenario: Fetching user information
|
6
|
-
Given I fetch user "schacon"
|
7
|
-
Then My local database should contain that record
|
8
|
-
And That record's "name" should be "Scott Chacon"
|
9
|
-
|
10
|
-
Scenario: Fetching repo information
|
11
|
-
Given I fetch repo "mojombo/jekyll"
|
12
|
-
Then My local database should contain that record
|
13
|
-
And That record's "login" of the "owner" should be "mojombo"
|