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 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