github-v3-api 0.0.5 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.1.0
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{github-v3-api}
8
- s.version = "0.0.5"
7
+ s.name = "github-v3-api"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["John Wilger"]
12
- s.date = %q{2011-07-03}
13
- s.description = %q{Ponies}
14
- s.email = %q{johnwilger@gmail.com}
12
+ s.date = "2011-10-18"
13
+ s.description = "Ponies"
14
+ s.email = "johnwilger@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.rdoc"
@@ -31,22 +31,26 @@ Gem::Specification.new do |s|
31
31
  "lib/github-v3-api.rb",
32
32
  "lib/github_v3_api.rb",
33
33
  "lib/github_v3_api/entity.rb",
34
+ "lib/github_v3_api/issue.rb",
35
+ "lib/github_v3_api/issues_api.rb",
34
36
  "lib/github_v3_api/org.rb",
35
37
  "lib/github_v3_api/orgs_api.rb",
36
38
  "lib/github_v3_api/repo.rb",
37
39
  "lib/github_v3_api/repos_api.rb",
38
40
  "spec/github_v3_api_spec.rb",
41
+ "spec/issue_spec.rb",
42
+ "spec/issues_api_spec.rb",
39
43
  "spec/org_spec.rb",
40
44
  "spec/orgs_api_spec.rb",
41
45
  "spec/repo_spec.rb",
42
46
  "spec/repos_api_spec.rb",
43
47
  "spec/spec_helper.rb"
44
48
  ]
45
- s.homepage = %q{http://github.com/jwilger/github-v3-api}
49
+ s.homepage = "http://github.com/jwilger/github-v3-api"
46
50
  s.licenses = ["MIT"]
47
51
  s.require_paths = ["lib"]
48
- s.rubygems_version = %q{1.6.2}
49
- s.summary = %q{Ruby Client for the GitHub v3 API}
52
+ s.rubygems_version = "1.8.10"
53
+ s.summary = "Ruby Client for the GitHub v3 API"
50
54
 
51
55
  if s.respond_to? :specification_version then
52
56
  s.specification_version = 3
@@ -1,6 +1,8 @@
1
1
  require 'rest-client'
2
2
  require 'json'
3
3
  require 'github_v3_api/entity'
4
+ require 'github_v3_api/issues_api'
5
+ require 'github_v3_api/issue'
4
6
  require 'github_v3_api/orgs_api'
5
7
  require 'github_v3_api/org'
6
8
  require 'github_v3_api/repos_api'
@@ -23,6 +25,9 @@ class GitHubV3API
23
25
  # Raised when an API request uses an invalid access token
24
26
  Unauthorized = Class.new(RuntimeError)
25
27
 
28
+ # Raised when an API request is missing required data
29
+ MissingRequiredData = Class.new(RuntimeError)
30
+
26
31
  # Returns a GitHubV3API instance that is able to access github with the
27
32
  # +access_token+ owner's authorization.
28
33
  #
@@ -47,8 +52,43 @@ class GitHubV3API
47
52
  ReposAPI.new(self)
48
53
  end
49
54
 
50
- def get(path) #:nodoc:
55
+ # Entry-point for access to the GitHub Issues API
56
+ #
57
+ # Returns an instance of GitHubV3API::IssuesAPI that will use the access_token
58
+ # associated with this instance
59
+ def issues
60
+ IssuesAPI.new(self)
61
+ end
62
+
63
+ def get(path, params={}) #:nodoc:
51
64
  result = RestClient.get("https://api.github.com" + path,
65
+ {:accept => :json,
66
+ :authorization => "token #{@access_token}"}.merge({:params => params}))
67
+ JSON.parse(result)
68
+ rescue RestClient::Unauthorized
69
+ raise Unauthorized, "The access token is invalid according to GitHub"
70
+ end
71
+
72
+ def post(path, params={}) #:nodoc:
73
+ result = RestClient.post("https://api.github.com" + path, JSON.generate(params),
74
+ {:accept => :json,
75
+ :authorization => "token #{@access_token}"})
76
+ JSON.parse(result)
77
+ rescue RestClient::Unauthorized
78
+ raise Unauthorized, "The access token is invalid according to GitHub"
79
+ end
80
+
81
+ def patch(path, params={}) #:nodoc:
82
+ result = RestClient.post("https://api.github.com" + path, JSON.generate(params),
83
+ {:accept => :json,
84
+ :authorization => "token #{@access_token}"})
85
+ JSON.parse(result)
86
+ rescue RestClient::Unauthorized
87
+ raise Unauthorized, "The access token is invalid according to GitHub"
88
+ end
89
+
90
+ def delete(path) #:nodoc:
91
+ result = RestClient.delete("https://api.github.com" + path,
52
92
  {:accept => :json,
53
93
  :authorization => "token #{@access_token}"})
54
94
  JSON.parse(result)
@@ -0,0 +1,11 @@
1
+ # See GitHubV3API documentation in lib/github_v3_api.rb
2
+ class GitHubV3API
3
+ # Represents a single GitHub Issue and provides access to its data attributes.
4
+ class Issue < Entity
5
+ attr_reader :url, :html_url, :number, :state, :title, :body, :user,
6
+ :labels, :assignee, :milestone, :comments, :pull_request,
7
+ :closed_at, :created_at, :updated_at
8
+
9
+
10
+ end
11
+ end
@@ -0,0 +1,82 @@
1
+ # See GitHubV3API documentation in lib/github_v3_api.rb
2
+ class GitHubV3API
3
+ # Provides access to the GitHub Issues API (http://developer.github.com/v3/issues/)
4
+ #
5
+ # example:
6
+ #
7
+ # api = GitHubV3API.new(ACCESS_TOKEN)
8
+ #
9
+ # # get list of your issues
10
+ # my_issues = api.issues.list
11
+ # #=> returns an array of GitHubV3API::Issue instances
12
+ #
13
+ # # get list of issues for a repo
14
+ # repo_issues = api.issues.list({:user => 'octocat', :repo => 'hello-world'})
15
+ # #=> returns an array of GitHubV3API::Issue instances
16
+ #
17
+ # issue = api.issues.get('octocat', 'hello-world', '1234')
18
+ # #=> returns an instance of GitHubV3API::Issue
19
+ #
20
+ # issue.title
21
+ # #=> 'omgbbq'
22
+ #
23
+ class IssuesAPI
24
+ # Typically not used directly. Use GitHubV3API#issues instead.
25
+ #
26
+ # +connection+:: an instance of GitHubV3API
27
+ def initialize(connection)
28
+ @connection = connection
29
+ end
30
+
31
+ # Returns an array of GitHubV3API::Issue instances representing a
32
+ # user's issues or issues for a repo
33
+ def list(options=nil, params={})
34
+ path = if options && options[:user] && options[:repo]
35
+ "/repos/#{options[:user]}/#{options[:repo]}/issues"
36
+ else
37
+ '/issues'
38
+ end
39
+
40
+ @connection.get(path, params).map do |issue_data|
41
+ GitHubV3API::Issue.new(self, issue_data)
42
+ end
43
+ end
44
+
45
+ # Returns a GitHubV3API::Issue instance for the specified +user+,
46
+ # +repo_name+, and +id+.
47
+ #
48
+ # +user+:: the string ID of the user, e.g. "octocat"
49
+ # +repo_name+:: the string ID of the repository, e.g. "hello-world"
50
+ # +id+:: the integer ID of the issue, e.g. 42
51
+ def get(user, repo_name, id, params={})
52
+ issue_data = @connection.get("/repos/#{user}/#{repo_name}/issues/#{id.to_s}", params)
53
+ GitHubV3API::Issue.new_with_all_data(self, issue_data)
54
+ rescue RestClient::ResourceNotFound
55
+ raise NotFound, "The issue #{user}/#{repo_name}/issues/#{id} does not exist or is not visible to the user."
56
+ end
57
+
58
+ # Returns a GitHubV3API::Issue instance representing the issue
59
+ # that it creates
60
+ #
61
+ # +user+:: the string ID of the user, e.g. "octocat"
62
+ # +repo_name+:: the string ID of the repository, e.g. "hello-world"
63
+ # +data+:: the hash DATA with attributes for the issue, e.g. {:title => "omgbbq"}
64
+ def create(user, repo_name, data={})
65
+ raise MissingRequiredData, "Title is required to create a new issue" unless data[:title]
66
+ issue_data = @connection.post("/repos/#{user}/#{repo_name}/issues", data)
67
+ GitHubV3API::Issue.new_with_all_data(self, issue_data)
68
+ end
69
+
70
+ # Returns a GitHubV3API::Issue instance representing the issue
71
+ # that it updated
72
+ #
73
+ # +user+:: the string ID of the user, e.g. "octocat"
74
+ # +repo_name+:: the string ID of the repository, e.g. "hello-world"
75
+ # +id+:: the integer ID of the issue, e.g. 42
76
+ # +data+:: the hash with attributes for the issue, e.g. {:body => "lol, wtf"}
77
+ def update(user, repo_name, id, data={})
78
+ issue_data = @connection.patch("/repos/#{user}/#{repo_name}/issues/#{id.to_s}", data)
79
+ GitHubV3API::Issue.new_with_all_data(self, issue_data)
80
+ end
81
+ end
82
+ end
@@ -10,7 +10,7 @@ class GitHubV3API
10
10
  # repos = api.repos.list
11
11
  # #=> returns an array of GitHubV3API::Repo instances
12
12
  #
13
- # repo = api.repo.get('octocat', 'hello-world')
13
+ # repo = api.repos.get('octocat', 'hello-world')
14
14
  # #=> returns an instance of GitHubV3API::Repo
15
15
  #
16
16
  # repo.name
@@ -19,10 +19,17 @@ describe GitHubV3API do
19
19
  end
20
20
  end
21
21
 
22
+ describe "#issues" do
23
+ it "returns an instance of GitHubV3API::IssuesAPI" do
24
+ api = GitHubV3API.new('abcde')
25
+ api.issues.should be_kind_of GitHubV3API::IssuesAPI
26
+ end
27
+ end
28
+
22
29
  describe '#get' do
23
30
  it 'does a get request to the specified path at the GitHub API server and adds the access token' do
24
31
  RestClient.should_receive(:get) \
25
- .with('https://api.github.com/some/path', {:accept => :json, :authorization => 'token abcde'}) \
32
+ .with('https://api.github.com/some/path', {:accept => :json, :authorization => 'token abcde', :params => {}}) \
26
33
  .and_return('{}')
27
34
  api = GitHubV3API.new('abcde')
28
35
  api.get('/some/path')
@@ -40,4 +47,38 @@ describe GitHubV3API do
40
47
  lambda { api.get('/something') }.should raise_error(GitHubV3API::Unauthorized)
41
48
  end
42
49
  end
50
+
51
+ describe "#post" do
52
+ it "does a post request to the specified path at the github server, adds token, and payload as json" do
53
+ data = {:title => 'omgbbq'}
54
+ json = JSON.generate(data)
55
+ RestClient.should_receive(:post) \
56
+ .with('https://api.github.com/some/path', json, {:accept => :json, :authorization => 'token abcde'}) \
57
+ .and_return('{}')
58
+ api = GitHubV3API.new('abcde')
59
+ api.post('/some/path', data)
60
+ end
61
+ end
62
+
63
+ describe "#patch" do
64
+ it "does a post request to the specified path at the github server, adds token, and payload as json" do
65
+ data = {:title => 'omgbbq'}
66
+ json = JSON.generate(data)
67
+ RestClient.should_receive(:post) \
68
+ .with('https://api.github.com/some/path', json, {:accept => :json, :authorization => 'token abcde'}) \
69
+ .and_return('{}')
70
+ api = GitHubV3API.new('abcde')
71
+ api.patch('/some/path', data)
72
+ end
73
+ end
74
+
75
+ describe "#delete" do
76
+ it 'does a delete request to the specified path at the GitHub API server and adds the access token' do
77
+ RestClient.should_receive(:delete) \
78
+ .with('https://api.github.com/some/path', {:accept => :json, :authorization => 'token abcde'}) \
79
+ .and_return('{}')
80
+ api = GitHubV3API.new('abcde')
81
+ api.delete('/some/path')
82
+ end
83
+ end
43
84
  end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe GitHubV3API::Issue do
4
+ describe 'attr_readers' do
5
+ it 'should define attr_readers that pull values from the issue data' do
6
+ fields = %w(url html_url number state title body user labels assignee
7
+ milestone comments pull_request closed_at created_at updated_at)
8
+ fields.each do |f|
9
+ repo = GitHubV3API::Issue.new_with_all_data(stub('api'), {f.to_s => 'foo'})
10
+ repo.methods.should include(f.to_sym)
11
+ repo.send(f).should == 'foo'
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,76 @@
1
+ require 'spec_helper'
2
+
3
+ describe GitHubV3API::IssuesAPI do
4
+ describe "#list" do
5
+ context "options = nil" do
6
+ it "returns issues for a user" do
7
+ connection = mock(GitHubV3API)
8
+ connection.should_receive(:get).with('/issues', {}).and_return([:issue_hash1, :issue_hash2])
9
+ api = GitHubV3API::IssuesAPI.new(connection)
10
+ GitHubV3API::Issue.should_receive(:new).with(api, :issue_hash1).and_return(:issue1)
11
+ GitHubV3API::Issue.should_receive(:new).with(api, :issue_hash2).and_return(:issue2)
12
+ issues = api.list
13
+ issues.should == [:issue1, :issue2]
14
+ end
15
+ end
16
+
17
+ context "options = {:user => 'octocat', :repo => 'hello-world'}" do
18
+ it "returns issues for a repo" do
19
+ connection = mock(GitHubV3API)
20
+ connection.should_receive(:get).with("/repos/octocat/hello-world/issues", {}).and_return([:issue_hash1, :issue_hash2])
21
+ api = GitHubV3API::IssuesAPI.new(connection)
22
+ GitHubV3API::Issue.should_receive(:new).with(api, :issue_hash1).and_return(:issue1)
23
+ GitHubV3API::Issue.should_receive(:new).with(api, :issue_hash2).and_return(:issue2)
24
+ issues = api.list({:user => 'octocat', :repo => 'hello-world'})
25
+ issues.should == [:issue1, :issue2]
26
+ end
27
+ end
28
+ end
29
+
30
+ describe '#get' do
31
+ it 'returns a fully-hydrated Issue object for the specified user, repo, and issue id' do
32
+ connection = mock(GitHubV3API)
33
+ connection.should_receive(:get).with('/repos/octocat/hello-world/issues/1234', {}).and_return(:issue_hash)
34
+ api = GitHubV3API::IssuesAPI.new(connection)
35
+ GitHubV3API::Issue.should_receive(:new_with_all_data).with(api, :issue_hash).and_return(:issue)
36
+ api.get('octocat', 'hello-world', 1234).should == :issue
37
+ end
38
+
39
+ it 'raises GitHubV3API::NotFound instead of a RestClient::ResourceNotFound' do
40
+ connection = mock(GitHubV3API)
41
+ connection.should_receive(:get) \
42
+ .and_raise(RestClient::ResourceNotFound)
43
+ api = GitHubV3API::IssuesAPI.new(connection)
44
+ lambda { api.get('octocat', 'hello-world', 4321) }.should raise_error(GitHubV3API::NotFound)
45
+ end
46
+ end
47
+
48
+ describe "#create" do
49
+ it 'returns a fully-hydrated Issue object for the specified user, repo, and issue that was created' do
50
+ connection = mock(GitHubV3API)
51
+ data = {:title => "omgbbq"}
52
+ connection.should_receive(:post).with('/repos/octocat/hello-world/issues', data).and_return(:issue_hash)
53
+ api = GitHubV3API::IssuesAPI.new(connection)
54
+ GitHubV3API::Issue.should_receive(:new_with_all_data).with(api, :issue_hash).and_return(:issue)
55
+ api.create('octocat', 'hello-world', data).should == :issue
56
+ end
57
+
58
+ it "raises GitHubV3API::MissingRequiredData when data[:title] is missing" do
59
+ connection = mock(GitHubV3API)
60
+ connection.should_not_receive(:post)
61
+ api = GitHubV3API::IssuesAPI.new(connection)
62
+ lambda { api.create('octocat', 'hello-world', {}) }.should raise_error(GitHubV3API::MissingRequiredData)
63
+ end
64
+ end
65
+
66
+ describe "#update" do
67
+ it 'returns a fully-hydrated Issue object for the specified user, repo, and issue that was updated' do
68
+ connection = mock(GitHubV3API)
69
+ data = {:body => "lol, wtf"}
70
+ connection.should_receive(:patch).with('/repos/octocat/hello-world/issues/1234', data).and_return(:issue_hash)
71
+ api = GitHubV3API::IssuesAPI.new(connection)
72
+ GitHubV3API::Issue.should_receive(:new_with_all_data).with(api, :issue_hash).and_return(:issue)
73
+ api.update('octocat', 'hello-world', 1234, data).should == :issue
74
+ end
75
+ end
76
+ end
@@ -3,10 +3,6 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
3
  require 'rspec'
4
4
  require 'github_v3_api'
5
5
 
6
- # Requires supporting files with custom matchers and macros, etc,
7
- # in ./support/ and its subdirectories.
8
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
-
10
6
  RSpec.configure do |config|
11
-
7
+
12
8
  end
metadata CHANGED
@@ -1,116 +1,112 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: github-v3-api
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
4
5
  prerelease:
5
- version: 0.0.5
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - John Wilger
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-07-03 00:00:00 -07:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
12
+ date: 2011-10-18 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
17
15
  name: rest-client
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2159155400 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
18
+ requirements:
21
19
  - - ~>
22
- - !ruby/object:Gem::Version
20
+ - !ruby/object:Gem::Version
23
21
  version: 1.6.3
24
22
  type: :runtime
25
23
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *2159155400
25
+ - !ruby/object:Gem::Dependency
28
26
  name: json
29
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &2159154920 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
29
+ requirements:
32
30
  - - ~>
33
- - !ruby/object:Gem::Version
31
+ - !ruby/object:Gem::Version
34
32
  version: 1.5.3
35
33
  type: :runtime
36
34
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *2159154920
36
+ - !ruby/object:Gem::Dependency
39
37
  name: rspec
40
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ requirement: &2159154440 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
40
+ requirements:
43
41
  - - ~>
44
- - !ruby/object:Gem::Version
42
+ - !ruby/object:Gem::Version
45
43
  version: 2.3.0
46
44
  type: :development
47
45
  prerelease: false
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *2159154440
47
+ - !ruby/object:Gem::Dependency
50
48
  name: bundler
51
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: &2159153960 !ruby/object:Gem::Requirement
52
50
  none: false
53
- requirements:
51
+ requirements:
54
52
  - - ~>
55
- - !ruby/object:Gem::Version
53
+ - !ruby/object:Gem::Version
56
54
  version: 1.0.0
57
55
  type: :development
58
56
  prerelease: false
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *2159153960
58
+ - !ruby/object:Gem::Dependency
61
59
  name: jeweler
62
- requirement: &id005 !ruby/object:Gem::Requirement
60
+ requirement: &2159153480 !ruby/object:Gem::Requirement
63
61
  none: false
64
- requirements:
62
+ requirements:
65
63
  - - ~>
66
- - !ruby/object:Gem::Version
64
+ - !ruby/object:Gem::Version
67
65
  version: 1.6.0
68
66
  type: :development
69
67
  prerelease: false
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
68
+ version_requirements: *2159153480
69
+ - !ruby/object:Gem::Dependency
72
70
  name: rcov
73
- requirement: &id006 !ruby/object:Gem::Requirement
71
+ requirement: &2159153000 !ruby/object:Gem::Requirement
74
72
  none: false
75
- requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: "0"
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
79
77
  type: :development
80
78
  prerelease: false
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
79
+ version_requirements: *2159153000
80
+ - !ruby/object:Gem::Dependency
83
81
  name: reek
84
- requirement: &id007 !ruby/object:Gem::Requirement
82
+ requirement: &2159152520 !ruby/object:Gem::Requirement
85
83
  none: false
86
- requirements:
84
+ requirements:
87
85
  - - ~>
88
- - !ruby/object:Gem::Version
86
+ - !ruby/object:Gem::Version
89
87
  version: 1.2.8
90
88
  type: :development
91
89
  prerelease: false
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
90
+ version_requirements: *2159152520
91
+ - !ruby/object:Gem::Dependency
94
92
  name: roodi
95
- requirement: &id008 !ruby/object:Gem::Requirement
93
+ requirement: &2159152040 !ruby/object:Gem::Requirement
96
94
  none: false
97
- requirements:
95
+ requirements:
98
96
  - - ~>
99
- - !ruby/object:Gem::Version
97
+ - !ruby/object:Gem::Version
100
98
  version: 2.1.0
101
99
  type: :development
102
100
  prerelease: false
103
- version_requirements: *id008
101
+ version_requirements: *2159152040
104
102
  description: Ponies
105
103
  email: johnwilger@gmail.com
106
104
  executables: []
107
-
108
105
  extensions: []
109
-
110
- extra_rdoc_files:
106
+ extra_rdoc_files:
111
107
  - LICENSE.txt
112
108
  - README.rdoc
113
- files:
109
+ files:
114
110
  - .document
115
111
  - .rspec
116
112
  - .rvmrc
@@ -125,46 +121,46 @@ files:
125
121
  - lib/github-v3-api.rb
126
122
  - lib/github_v3_api.rb
127
123
  - lib/github_v3_api/entity.rb
124
+ - lib/github_v3_api/issue.rb
125
+ - lib/github_v3_api/issues_api.rb
128
126
  - lib/github_v3_api/org.rb
129
127
  - lib/github_v3_api/orgs_api.rb
130
128
  - lib/github_v3_api/repo.rb
131
129
  - lib/github_v3_api/repos_api.rb
132
130
  - spec/github_v3_api_spec.rb
131
+ - spec/issue_spec.rb
132
+ - spec/issues_api_spec.rb
133
133
  - spec/org_spec.rb
134
134
  - spec/orgs_api_spec.rb
135
135
  - spec/repo_spec.rb
136
136
  - spec/repos_api_spec.rb
137
137
  - spec/spec_helper.rb
138
- has_rdoc: true
139
138
  homepage: http://github.com/jwilger/github-v3-api
140
- licenses:
139
+ licenses:
141
140
  - MIT
142
141
  post_install_message:
143
142
  rdoc_options: []
144
-
145
- require_paths:
143
+ require_paths:
146
144
  - lib
147
- required_ruby_version: !ruby/object:Gem::Requirement
145
+ required_ruby_version: !ruby/object:Gem::Requirement
148
146
  none: false
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- hash: -4451428935810272395
153
- segments:
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ segments:
154
152
  - 0
155
- version: "0"
156
- required_rubygems_version: !ruby/object:Gem::Requirement
153
+ hash: 3092793002911622780
154
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
155
  none: false
158
- requirements:
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- version: "0"
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
162
160
  requirements: []
163
-
164
161
  rubyforge_project:
165
- rubygems_version: 1.6.2
162
+ rubygems_version: 1.8.10
166
163
  signing_key:
167
164
  specification_version: 3
168
165
  summary: Ruby Client for the GitHub v3 API
169
166
  test_files: []
170
-