ghee 0.9.6 → 0.9.7
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/README.md +5 -0
- data/ghee.gemspec +5 -4
- data/lib/ghee.rb +13 -8
- data/lib/ghee/api/forks.rb +0 -1
- data/lib/ghee/api/issues.rb +5 -3
- data/lib/ghee/api/repos.rb +7 -3
- data/lib/ghee/api/search.rb +40 -0
- data/lib/ghee/connection.rb +6 -1
- data/lib/ghee/resource_proxy.rb +1 -0
- data/lib/ghee/version.rb +1 -1
- data/spec/ghee/api/events_spec.rb +2 -2
- data/spec/ghee/api/gists_spec.rb +1 -1
- data/spec/ghee/api/gitdata_spec.rb +1 -1
- data/spec/ghee/api/issues_spec.rb +19 -1
- data/spec/ghee/api/milestones_spec.rb +5 -5
- data/spec/ghee/api/repos_spec.rb +1 -1
- data/spec/ghee/api/search_spec.rb +20 -0
- data/spec/ghee/connection_spec.rb +6 -6
- data/spec/ghee/memory_cache_spec.rb +42 -0
- data/spec/ghee_spec.rb +0 -1
- data/spec/spec_helper.rb +6 -0
- metadata +50 -34
data/README.md
CHANGED
@@ -18,6 +18,11 @@ Create an OAuth access token:
|
|
18
18
|
user_name, password, scopes = "rauhryan", "secret", ["user","repo"]
|
19
19
|
token = Ghee.create_token(user_name, password, scopes)
|
20
20
|
|
21
|
+
Create a client for github enterprise
|
22
|
+
|
23
|
+
gh = Ghee.access_token("your_token","https://foo.com")
|
24
|
+
gh = Ghee.basic_auth("your_user", "your_pass", "https://foo.com")
|
25
|
+
|
21
26
|
## Gists
|
22
27
|
|
23
28
|
### Usage
|
data/ghee.gemspec
CHANGED
@@ -18,10 +18,10 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.
|
22
|
-
s.
|
23
|
-
s.
|
24
|
-
s.
|
21
|
+
s.add_dependency 'faraday', '~> 0.8'
|
22
|
+
s.add_dependency 'faraday_middleware', '~> 0.9'
|
23
|
+
s.add_dependency 'hashie', '~> 1.2'
|
24
|
+
s.add_dependency 'multi_json', '~> 1.3'
|
25
25
|
s.add_development_dependency 'rake'
|
26
26
|
s.add_development_dependency 'json_pure'
|
27
27
|
s.add_development_dependency 'rspec', '~>2.9.0'
|
@@ -29,4 +29,5 @@ Gem::Specification.new do |s|
|
|
29
29
|
s.add_development_dependency 'vcr'
|
30
30
|
s.add_development_dependency 'ZenTest'
|
31
31
|
s.add_development_dependency 'autotest-growl'
|
32
|
+
s.add_development_dependency 'uuidtools'
|
32
33
|
end
|
data/lib/ghee.rb
CHANGED
@@ -24,6 +24,7 @@ require 'ghee/api/watchers'
|
|
24
24
|
require 'ghee/api/emails'
|
25
25
|
require 'ghee/api/followers'
|
26
26
|
require 'ghee/api/pulls'
|
27
|
+
require 'ghee/api/search'
|
27
28
|
|
28
29
|
class Ghee
|
29
30
|
attr_reader :connection
|
@@ -40,9 +41,9 @@ class Ghee
|
|
40
41
|
#
|
41
42
|
# Access_token - String of the access_token
|
42
43
|
#
|
43
|
-
def initialize(options = nil)
|
44
|
+
def initialize(options = nil, &block)
|
44
45
|
|
45
|
-
return @connection = Ghee::Connection.new(options) unless options.nil?
|
46
|
+
return @connection = Ghee::Connection.new(options, &block) unless options.nil?
|
46
47
|
|
47
48
|
begin
|
48
49
|
token = ENV["GH_TOKEN"] || `git config github.token`
|
@@ -53,16 +54,20 @@ class Ghee
|
|
53
54
|
end
|
54
55
|
end
|
55
56
|
|
56
|
-
def self.basic_auth(user_name, password)
|
57
|
-
|
57
|
+
def self.basic_auth(user_name, password, api_url = nil)
|
58
|
+
options = { :basic_auth => {:user_name => user_name, :password => password} }
|
59
|
+
options[:api_url] = api_url if api_url
|
60
|
+
Ghee.new options
|
58
61
|
end
|
59
62
|
|
60
|
-
def self.access_token(token)
|
61
|
-
|
63
|
+
def self.access_token(token, api_url = nil)
|
64
|
+
options = { :access_token => token }
|
65
|
+
options[:api_url] = api_url if api_url
|
66
|
+
Ghee.new options
|
62
67
|
end
|
63
68
|
|
64
|
-
def self.create_token(user_name, password, scopes)
|
65
|
-
auth = Ghee.basic_auth(user_name, password).authorizations.create({
|
69
|
+
def self.create_token(user_name, password, scopes, api_url = nil)
|
70
|
+
auth = Ghee.basic_auth(user_name, password, api_url).authorizations.create({
|
66
71
|
:scopes => scopes})
|
67
72
|
auth["token"]
|
68
73
|
end
|
data/lib/ghee/api/forks.rb
CHANGED
data/lib/ghee/api/issues.rb
CHANGED
@@ -69,6 +69,7 @@ class Ghee
|
|
69
69
|
# enables defining methods on the proxy object
|
70
70
|
#
|
71
71
|
class Proxy < ::Ghee::ResourceProxy
|
72
|
+
attr_accessor :repo
|
72
73
|
|
73
74
|
# Close issue - closed issue by id
|
74
75
|
#
|
@@ -120,10 +121,11 @@ class Ghee
|
|
120
121
|
#
|
121
122
|
# Returns json
|
122
123
|
#
|
123
|
-
def issues(number=nil
|
124
|
-
params = number if number.is_a?Hash
|
124
|
+
def issues(number=nil)
|
125
125
|
prefix = (!number.is_a?(Hash) and number) ? "#{path_prefix}/issues/#{number}" : "#{path_prefix}/issues"
|
126
|
-
Ghee::API::Repos::Issues::Proxy.new(connection, prefix,
|
126
|
+
issue = Ghee::API::Repos::Issues::Proxy.new(connection, prefix, number)
|
127
|
+
issue.repo = self
|
128
|
+
issue
|
127
129
|
end
|
128
130
|
end
|
129
131
|
end
|
data/lib/ghee/api/repos.rb
CHANGED
@@ -14,6 +14,7 @@ class Ghee
|
|
14
14
|
# enables defining methods on the proxy object
|
15
15
|
#
|
16
16
|
class Proxy < ::Ghee::ResourceProxy
|
17
|
+
attr_accessor :repo_name
|
17
18
|
end
|
18
19
|
|
19
20
|
# Get repos
|
@@ -22,9 +23,12 @@ class Ghee
|
|
22
23
|
#
|
23
24
|
# Returns json
|
24
25
|
#
|
25
|
-
def repos(login,name)
|
26
|
-
|
27
|
-
|
26
|
+
def repos(login,name = nil)
|
27
|
+
repo = name.nil? ? login : "#{login}/#{name}"
|
28
|
+
path_prefix = "/repos/#{repo}"
|
29
|
+
proxy = Proxy.new(connection, path_prefix)
|
30
|
+
proxy.repo_name = repo
|
31
|
+
proxy
|
28
32
|
end
|
29
33
|
|
30
34
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
|
2
|
+
class Ghee
|
3
|
+
|
4
|
+
# API module encapsulates all of API endpoints
|
5
|
+
# implemented thus far
|
6
|
+
#
|
7
|
+
module API
|
8
|
+
|
9
|
+
module Repos
|
10
|
+
module Issues
|
11
|
+
class Proxy < ::Ghee::ResourceProxy
|
12
|
+
def search(term, state = "open")
|
13
|
+
url = "/legacy/issues/search/#{@repo.repo_name}/#{state}/#{term}"
|
14
|
+
Ghee::API::Search::Issues::Proxy.new(connection, url)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# The Search module handles all of the Github Search
|
21
|
+
# API endpoints
|
22
|
+
#
|
23
|
+
module Search
|
24
|
+
module Issues
|
25
|
+
class Proxy < ::Ghee::ResourceProxy
|
26
|
+
end
|
27
|
+
end
|
28
|
+
class Proxy < ::Ghee::ResourceProxy
|
29
|
+
def issues(repo, term, state = "open")
|
30
|
+
url = "/legacy/issues/search/#{repo}/#{state}/#{term}"
|
31
|
+
Issues::Proxy.new(connection, url)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def search
|
38
|
+
API::Search::Proxy.new(connection,"")
|
39
|
+
end
|
40
|
+
end
|
data/lib/ghee/connection.rb
CHANGED
@@ -19,16 +19,21 @@ class Ghee
|
|
19
19
|
access_token = hash[:access_token] if hash.has_key?:access_token
|
20
20
|
basic_auth = hash[:basic_auth] if hash.has_key?:basic_auth
|
21
21
|
|
22
|
-
super('https://api.github.com') do |builder|
|
22
|
+
super(hash[:api_url] || 'https://api.github.com') do |builder|
|
23
|
+
yield builder if block_given?
|
23
24
|
builder.use FaradayMiddleware::EncodeJson
|
25
|
+
builder.use FaradayMiddleware::Mashify
|
24
26
|
builder.use FaradayMiddleware::ParseJson
|
25
27
|
# builder.use Ghee::Middleware::UriEscape
|
26
28
|
builder.adapter Faraday.default_adapter
|
29
|
+
|
30
|
+
|
27
31
|
end
|
28
32
|
|
29
33
|
self.headers["Authorization"] = "token #{access_token}" if access_token
|
30
34
|
self.basic_auth(basic_auth[:user_name], basic_auth[:password]) if basic_auth
|
31
35
|
self.headers["Accept"] = 'application/json'
|
36
|
+
|
32
37
|
end
|
33
38
|
end
|
34
39
|
end
|
data/lib/ghee/resource_proxy.rb
CHANGED
data/lib/ghee/version.rb
CHANGED
@@ -10,8 +10,8 @@ describe Ghee::API::Events do
|
|
10
10
|
|
11
11
|
def should_be_an_event(event)
|
12
12
|
EventTypes.should include(event['type'])
|
13
|
-
event['repo'].should be_instance_of(
|
14
|
-
event['actor'].should be_instance_of(
|
13
|
+
event['repo'].should be_instance_of(Hashie::Mash)
|
14
|
+
event['actor'].should be_instance_of(Hashie::Mash)
|
15
15
|
event['created_at'].should_not be_nil
|
16
16
|
end
|
17
17
|
|
data/spec/ghee/api/gists_spec.rb
CHANGED
@@ -7,7 +7,7 @@ describe Ghee::API::Gists do
|
|
7
7
|
gist['url'].should include('https://api.github.com/gists/')
|
8
8
|
gist['user']['url'].should include('https://api.github.com/users/')
|
9
9
|
gist['created_at'].should_not be_nil
|
10
|
-
gist['files'].should be_instance_of(
|
10
|
+
gist['files'].should be_instance_of(Hashie::Mash)
|
11
11
|
gist['files'].size.should > 0
|
12
12
|
end
|
13
13
|
|
@@ -60,7 +60,7 @@ describe Ghee::API::Repos::Git do
|
|
60
60
|
before :all do
|
61
61
|
VCR.use_cassette "repos()#git#tags#create" do
|
62
62
|
@test_tag = subject.git.tags.create({
|
63
|
-
:tag => "
|
63
|
+
:tag => "#{Guid::guid}",
|
64
64
|
:object => subject.commits.first["sha"],
|
65
65
|
:type => "commit",
|
66
66
|
:message => "creating a tag with the api",
|
@@ -4,12 +4,19 @@ describe Ghee::API::Repos::Issues do
|
|
4
4
|
subject { Ghee.new(GH_AUTH) }
|
5
5
|
|
6
6
|
def should_be_an_issue(issue)
|
7
|
-
issue["user"]
|
7
|
+
issue["user"].should_not be_nil
|
8
8
|
issue["comments"].should_not be_nil
|
9
9
|
end
|
10
10
|
|
11
11
|
describe "#repos(login,name)#issues" do
|
12
12
|
it "should return repos issues" do
|
13
|
+
VCR.use_cassette("repos(\"#{GH_USER}/#{GH_REPO}\").issues") do
|
14
|
+
issues = subject.repos("#{GH_USER}/#{GH_REPO}").issues
|
15
|
+
issues.size.should > 0
|
16
|
+
should_be_an_issue(issues.first)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
it "should accept only one argument" do
|
13
20
|
VCR.use_cassette("repos(#{GH_USER},#{GH_REPO}).issues") do
|
14
21
|
issues = subject.repos(GH_USER, GH_REPO).issues
|
15
22
|
issues.size.should > 0
|
@@ -17,6 +24,17 @@ describe Ghee::API::Repos::Issues do
|
|
17
24
|
end
|
18
25
|
end
|
19
26
|
|
27
|
+
describe "#repos#issues#search" do
|
28
|
+
it "should return open issues by default" do
|
29
|
+
VCR.use_cassette("repos(#{GH_USER},#{GH_REPO}).issues.search#default") do
|
30
|
+
issues = subject.repos(GH_USER, GH_REPO).issues.search("Seeded")
|
31
|
+
issues.issues.size.should > 0
|
32
|
+
should_be_an_issue(issues.issues.first)
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
20
38
|
describe "#repos(login,name)#issues#closed" do
|
21
39
|
it "should return repos closed issues" do
|
22
40
|
VCR.use_cassette("repos(#{GH_USER},#{GH_REPO}).issues.closed") do
|
@@ -13,7 +13,7 @@ describe Ghee::API::Repos::Milestones do
|
|
13
13
|
describe "#repos(login,name)#milestones" do
|
14
14
|
it "should return repos milestones" do
|
15
15
|
VCR.use_cassette("repos(#{GH_USER},#{GH_REPO}).milestones") do
|
16
|
-
temp_milestone = subject.repos(GH_USER, GH_REPO).milestones.create({ :title => "Destroy test milestone #{
|
16
|
+
temp_milestone = subject.repos(GH_USER, GH_REPO).milestones.create({ :title => "Destroy test milestone #{Guid::guid}" })
|
17
17
|
|
18
18
|
milestones = subject.repos(GH_USER, GH_REPO).milestones
|
19
19
|
milestones.size.should > 0
|
@@ -26,7 +26,7 @@ describe Ghee::API::Repos::Milestones do
|
|
26
26
|
describe "#repos(login,name)#milestones#closed" do
|
27
27
|
it "should return repos closed milestones" do
|
28
28
|
VCR.use_cassette("repos(#{GH_USER},#{GH_REPO}).milestones.closed") do
|
29
|
-
temp_milestone = subject.repos(GH_USER, GH_REPO).milestones.create({ :title => "Destroy test milestone #{
|
29
|
+
temp_milestone = subject.repos(GH_USER, GH_REPO).milestones.create({ :title => "Destroy test milestone #{Guid::guid}" })
|
30
30
|
subject.repos(GH_USER, GH_REPO).milestones(temp_milestone["number"]).close
|
31
31
|
|
32
32
|
milestones = subject.repos(GH_USER, GH_REPO).milestones.closed
|
@@ -44,7 +44,7 @@ describe Ghee::API::Repos::Milestones do
|
|
44
44
|
describe "#repos(login,name)#milestones(1)" do
|
45
45
|
it "should return an milestone by id" do
|
46
46
|
VCR.use_cassette("repos(#{GH_USER},#{GH_REPO}).milestones(1)") do
|
47
|
-
temp_milestone = subject.repos(GH_USER, GH_REPO).milestones.create({ :title => "Destroy test milestone #{
|
47
|
+
temp_milestone = subject.repos(GH_USER, GH_REPO).milestones.create({ :title => "Destroy test milestone #{Guid::guid}" })
|
48
48
|
|
49
49
|
milestone = subject.repos(GH_USER, GH_REPO).milestones(1)
|
50
50
|
should_be_an_milestone(milestone)
|
@@ -58,7 +58,7 @@ describe Ghee::API::Repos::Milestones do
|
|
58
58
|
VCR.use_cassette "milestones(id).destroy" do
|
59
59
|
repo = subject.repos(GH_USER, GH_REPO)
|
60
60
|
test_milestone = repo.milestones.create({
|
61
|
-
:title => "Destroy test milestone #{
|
61
|
+
:title => "Destroy test milestone #{Guid::guid}"
|
62
62
|
})
|
63
63
|
should_be_an_milestone(test_milestone)
|
64
64
|
subject.repos(GH_USER, GH_REPO).milestones(test_milestone["number"]).destroy.should be_true
|
@@ -72,7 +72,7 @@ describe Ghee::API::Repos::Milestones do
|
|
72
72
|
VCR.use_cassette "milestones.test" do
|
73
73
|
@repo = subject.repos(GH_USER, GH_REPO)
|
74
74
|
@test_milestone = @repo.milestones.create({
|
75
|
-
:title => "Test milestone #{
|
75
|
+
:title => "Test milestone #{Guid::guid}"
|
76
76
|
})
|
77
77
|
end
|
78
78
|
end
|
data/spec/ghee/api/repos_spec.rb
CHANGED
@@ -64,7 +64,7 @@ describe Ghee::API::Repos do
|
|
64
64
|
|
65
65
|
it "should patch a label" do
|
66
66
|
VCR.use_cassette("repo(#{GH_USER},#{GH_REPO}).labels.patched") do
|
67
|
-
name = "patch label #{
|
67
|
+
name = "patch label #{Guid::guid}"
|
68
68
|
label = subject.repos(GH_USER, GH_REPO).labels.create(:color => "efefef", :name => name)
|
69
69
|
label["color"].should == "efefef"
|
70
70
|
label["url"].should include "labels/patch"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ghee::API::Search do
|
4
|
+
subject { Ghee.new(GH_AUTH) }
|
5
|
+
|
6
|
+
def should_be_an_issue(issue)
|
7
|
+
issue["user"].should_not be_nil
|
8
|
+
issue["comments"].should_not be_nil
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "gh#search#issues" do
|
12
|
+
it "should search open issues by repo by default" do
|
13
|
+
VCR.use_cassette "gh#search#issues#default" do
|
14
|
+
issues = subject.search.issues("#{GH_USER}/#{GH_REPO}", "Seeded")
|
15
|
+
issues.issues.size.should > 0
|
16
|
+
should_be_an_issue(issues.issues.first)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -17,12 +17,12 @@ describe Ghee::Connection do
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
it "should return
|
21
|
-
response.status.should ==
|
20
|
+
it "should return 200" do
|
21
|
+
response.status.should == 200
|
22
22
|
end
|
23
23
|
|
24
24
|
it "should parse the json response" do
|
25
|
-
response.body.
|
25
|
+
response.body.should_not be_nil
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -42,12 +42,12 @@ describe Ghee::Connection do
|
|
42
42
|
subject.get('/')
|
43
43
|
end
|
44
44
|
end
|
45
|
-
it "should return
|
46
|
-
response.status.should ==
|
45
|
+
it "should return 200" do
|
46
|
+
response.status.should == 200
|
47
47
|
end
|
48
48
|
|
49
49
|
it "should parse the json response" do
|
50
|
-
response.body.
|
50
|
+
response.body.should_not be_nil
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class TestCache < Hash
|
4
|
+
def read(key)
|
5
|
+
if cached = self[key]
|
6
|
+
Marshal.load(cached)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def write(key, data)
|
11
|
+
self[key] = Marshal.dump(data)
|
12
|
+
end
|
13
|
+
|
14
|
+
def fetch(key)
|
15
|
+
read(key) || yield.tap { |data| write(key, data) }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
@cache = TestCache.new
|
19
|
+
|
20
|
+
describe Ghee::Connection do
|
21
|
+
context "with custom cache middleware" do
|
22
|
+
before :all do
|
23
|
+
@cache = TestCache.new
|
24
|
+
@connection = connection = Ghee::Connection.new(GH_AUTH) do |conn|
|
25
|
+
conn.use FaradayMiddleware::Caching, @cache
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
let( :connection ){@connection}
|
30
|
+
describe "authorization request" do
|
31
|
+
it "should make one request only" do
|
32
|
+
VCR.use_cassette "cached auth" do
|
33
|
+
connection.get("/").status.should == 200
|
34
|
+
end
|
35
|
+
# this will throw a cassette warning if
|
36
|
+
# it makes another request
|
37
|
+
connection.get("/").status.should == 200
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/spec/ghee_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -4,6 +4,7 @@ Bundler.require :default, :test
|
|
4
4
|
require 'webmock/rspec'
|
5
5
|
require 'vcr'
|
6
6
|
require 'ghee'
|
7
|
+
require 'uuidtools'
|
7
8
|
|
8
9
|
VCR.config do |c|
|
9
10
|
c.cassette_library_dir = File.expand_path('../responses', __FILE__)
|
@@ -18,3 +19,8 @@ else
|
|
18
19
|
GH_AUTH = {:access_token => ENV["TOKEN"]}
|
19
20
|
GH_USER, GH_REPO, GH_ORG = ENV['GH_USER'], ENV['GH_REPO'], ENV['GH_ORG']
|
20
21
|
end
|
22
|
+
class Guid
|
23
|
+
def self.guid
|
24
|
+
UUIDTools::UUID.timestamp_create().to_s
|
25
|
+
end
|
26
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ghee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,55 +10,55 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-12-08 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: faraday
|
17
|
-
requirement: &
|
17
|
+
requirement: &70193822854740 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
|
-
- -
|
20
|
+
- - ~>
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '0'
|
22
|
+
version: '0.8'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70193822854740
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: faraday_middleware
|
28
|
-
requirement: &
|
28
|
+
requirement: &70193822854260 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '0.9'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70193822854260
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
-
name:
|
39
|
-
requirement: &
|
38
|
+
name: hashie
|
39
|
+
requirement: &70193822853800 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
|
-
- -
|
42
|
+
- - ~>
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
version: '
|
44
|
+
version: '1.2'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70193822853800
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
|
-
name:
|
50
|
-
requirement: &
|
49
|
+
name: multi_json
|
50
|
+
requirement: &70193822853340 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ~>
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
55
|
+
version: '1.3'
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70193822853340
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: rake
|
61
|
-
requirement: &
|
61
|
+
requirement: &70193822852960 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70193822852960
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: json_pure
|
72
|
-
requirement: &
|
72
|
+
requirement: &70193822852500 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70193822852500
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: rspec
|
83
|
-
requirement: &
|
83
|
+
requirement: &70193824944280 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ~>
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: 2.9.0
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *70193824944280
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: webmock
|
94
|
-
requirement: &
|
94
|
+
requirement: &70193824943860 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: '0'
|
100
100
|
type: :development
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *70193824943860
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: vcr
|
105
|
-
requirement: &
|
105
|
+
requirement: &70193824943400 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ! '>='
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: '0'
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *70193824943400
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: ZenTest
|
116
|
-
requirement: &
|
116
|
+
requirement: &70193824942980 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ! '>='
|
@@ -121,10 +121,21 @@ dependencies:
|
|
121
121
|
version: '0'
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *70193824942980
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: autotest-growl
|
127
|
-
requirement: &
|
127
|
+
requirement: &70193824942560 !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
129
|
+
requirements:
|
130
|
+
- - ! '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: *70193824942560
|
136
|
+
- !ruby/object:Gem::Dependency
|
137
|
+
name: uuidtools
|
138
|
+
requirement: &70193824942140 !ruby/object:Gem::Requirement
|
128
139
|
none: false
|
129
140
|
requirements:
|
130
141
|
- - ! '>='
|
@@ -132,7 +143,7 @@ dependencies:
|
|
132
143
|
version: '0'
|
133
144
|
type: :development
|
134
145
|
prerelease: false
|
135
|
-
version_requirements: *
|
146
|
+
version_requirements: *70193824942140
|
136
147
|
description: A complete, simple, and intuitive ruby API for all things Github.
|
137
148
|
email:
|
138
149
|
- rauh.ryan@gmail.com
|
@@ -169,6 +180,7 @@ files:
|
|
169
180
|
- lib/ghee/api/orgs.rb
|
170
181
|
- lib/ghee/api/pulls.rb
|
171
182
|
- lib/ghee/api/repos.rb
|
183
|
+
- lib/ghee/api/search.rb
|
172
184
|
- lib/ghee/api/users.rb
|
173
185
|
- lib/ghee/api/watchers.rb
|
174
186
|
- lib/ghee/connection.rb
|
@@ -188,9 +200,11 @@ files:
|
|
188
200
|
- spec/ghee/api/milestones_spec.rb
|
189
201
|
- spec/ghee/api/orgs_spec.rb
|
190
202
|
- spec/ghee/api/repos_spec.rb
|
203
|
+
- spec/ghee/api/search_spec.rb
|
191
204
|
- spec/ghee/api/teams_spec.rb
|
192
205
|
- spec/ghee/api/users_spec.rb
|
193
206
|
- spec/ghee/connection_spec.rb
|
207
|
+
- spec/ghee/memory_cache_spec.rb
|
194
208
|
- spec/ghee/resource_proxy_spec.rb
|
195
209
|
- spec/ghee_spec.rb
|
196
210
|
- spec/settings.yml.sample
|
@@ -233,9 +247,11 @@ test_files:
|
|
233
247
|
- spec/ghee/api/milestones_spec.rb
|
234
248
|
- spec/ghee/api/orgs_spec.rb
|
235
249
|
- spec/ghee/api/repos_spec.rb
|
250
|
+
- spec/ghee/api/search_spec.rb
|
236
251
|
- spec/ghee/api/teams_spec.rb
|
237
252
|
- spec/ghee/api/users_spec.rb
|
238
253
|
- spec/ghee/connection_spec.rb
|
254
|
+
- spec/ghee/memory_cache_spec.rb
|
239
255
|
- spec/ghee/resource_proxy_spec.rb
|
240
256
|
- spec/ghee_spec.rb
|
241
257
|
- spec/settings.yml.sample
|