ghee 0.9.6 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
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.add_runtime_dependency 'faraday'
22
- s.add_runtime_dependency 'faraday_middleware'
23
- s.add_runtime_dependency 'multi_json'
24
- s.add_runtime_dependency 'yajl-ruby'
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
- Ghee.new :basic_auth => {:user_name => user_name, :password => password}
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
- Ghee.new :access_token => token
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
@@ -14,7 +14,6 @@ class Ghee
14
14
  class Proxy < ::Ghee::ResourceProxy
15
15
  def create(org=nil)
16
16
  params = org ? {:org => org} : {}
17
- puts params
18
17
  connection.post(path_prefix, params).body
19
18
  end
20
19
  end
@@ -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, params={})
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, params)
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
@@ -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
- path_prefix = "/repos/#{login}/#{name}"
27
- Proxy.new(connection, path_prefix)
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
@@ -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
@@ -25,6 +25,7 @@ class Ghee
25
25
  # path_prefix - String
26
26
  #
27
27
  def initialize(connection, path_prefix, params = {})
28
+ params = {} if !params.is_a?Hash
28
29
  @connection, @path_prefix, @params = connection, URI.escape(path_prefix), params
29
30
  end
30
31
 
data/lib/ghee/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # encoding: UTF-8
2
2
  class Ghee
3
- VERSION = "0.9.6"
3
+ VERSION = "0.9.7"
4
4
  end
@@ -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(Hash)
14
- event['actor'].should be_instance_of(Hash)
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
 
@@ -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(Hash)
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 => "test_tag_#{rand(100)}",
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"]["login"].should_not be_nil
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 #{rand(100)}" })
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 #{rand(100)}" })
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 #{rand(100)}" })
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 #{rand(100)}"
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 #{rand(100)}"
75
+ :title => "Test milestone #{Guid::guid}"
76
76
  })
77
77
  end
78
78
  end
@@ -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 #{rand(100)}"
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 204" do
21
- response.status.should == 204
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.should be_nil
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 204" do
46
- response.status.should == 204
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.should be_nil
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
@@ -35,7 +35,6 @@ describe Ghee do
35
35
  it "should set up a connection" do
36
36
  gh = Ghee.new
37
37
  gh.connection.should be_instance_of(Ghee::Connection)
38
- gh.connection.hash.should == {}
39
38
  end
40
39
  end
41
40
  end
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.6
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-11-02 00:00:00.000000000Z
13
+ date: 2012-12-08 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
17
- requirement: &70221585006860 !ruby/object:Gem::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: *70221585006860
25
+ version_requirements: *70193822854740
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: faraday_middleware
28
- requirement: &70221585006420 !ruby/object:Gem::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: *70221585006420
36
+ version_requirements: *70193822854260
37
37
  - !ruby/object:Gem::Dependency
38
- name: multi_json
39
- requirement: &70221585006000 !ruby/object:Gem::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: '0'
44
+ version: '1.2'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70221585006000
47
+ version_requirements: *70193822853800
48
48
  - !ruby/object:Gem::Dependency
49
- name: yajl-ruby
50
- requirement: &70221585005580 !ruby/object:Gem::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: '0'
55
+ version: '1.3'
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *70221585005580
58
+ version_requirements: *70193822853340
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rake
61
- requirement: &70221585005160 !ruby/object:Gem::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: *70221585005160
69
+ version_requirements: *70193822852960
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: json_pure
72
- requirement: &70221585004740 !ruby/object:Gem::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: *70221585004740
80
+ version_requirements: *70193822852500
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rspec
83
- requirement: &70221585004240 !ruby/object:Gem::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: *70221585004240
91
+ version_requirements: *70193824944280
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: webmock
94
- requirement: &70221585003820 !ruby/object:Gem::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: *70221585003820
102
+ version_requirements: *70193824943860
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: vcr
105
- requirement: &70221585003360 !ruby/object:Gem::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: *70221585003360
113
+ version_requirements: *70193824943400
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: ZenTest
116
- requirement: &70221587187880 !ruby/object:Gem::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: *70221587187880
124
+ version_requirements: *70193824942980
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: autotest-growl
127
- requirement: &70221587187460 !ruby/object:Gem::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: *70221587187460
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