popit 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: be92d4476e37c35a6236ea9f814bdf3b665efa5d
4
+ data.tar.gz: ba44a8334452d04c0907bc5f934cd9c2b9fac26f
5
+ SHA512:
6
+ metadata.gz: 6979c38dff96ae579396283a793e9830cdc6e846ec8398ba191b31fbc973c0cb28428080f66181bff2ee6ea4d729e4350bd4147fa37a52ae83800221330c7c77
7
+ data.tar.gz: 7522a5c1e5c5f6e16aab8646fa0f4447c3f4524e0c54a1de5380327a22b1a08022a97b308a2a81ea1f69635864e79926587bddbc0172066d7638ac294f71fc94
data/.travis.yml CHANGED
@@ -1,3 +1,16 @@
1
+ ---
1
2
  language: ruby
2
3
  rvm:
3
- - 1.9.3
4
+ - 1.8.7
5
+ - 1.9.2
6
+ - 1.9.3
7
+ - 2.0.0
8
+ - ree
9
+ env:
10
+ global:
11
+ - TRAVIS_SECURE_ENV_VARS: true
12
+ - secure: ! 'Q1wjuxr364WRXFTDD8jdunJG59Xl2iYFtehm+5d6UAR9mY9Ohv4TLqT6QhHu
13
+
14
+ 1mdR575m90w3y1ZuS3NnzoUiMcrL+Osoza/tzBOch0+doXMqCXyZcgnSlNgV
15
+
16
+ 16TcY+GFYbBnGnlq+5UoBCjOb3eqHdWqoASdT4DPIijGmvEzBDs='
data/.yardopts ADDED
@@ -0,0 +1,4 @@
1
+ --no-private
2
+ --hide-void-return
3
+ --embed-mixin ClassMethods
4
+ --markup=markdown
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- # Specify your gem's dependencies in scraperwiki-api.gemspec
3
+ # Specify your gem's dependencies in the gemspec
4
4
  gemspec
data/README.md CHANGED
@@ -1,9 +1,11 @@
1
1
  # The PopIt API Ruby Gem
2
2
 
3
- A Ruby wrapper for the [PopIt](http://popit.mysociety.org/) API, which allows you to create, read, update and delete items from PopIt.
3
+ A Ruby wrapper for the [PopIt](http://popit.mysociety.org/) API, which allows you to create, read, update and delete documents from PopIt.
4
4
 
5
+ [![Build Status](https://secure.travis-ci.org/opennorth/popit-ruby.png)](http://travis-ci.org/opennorth/popit-ruby)
5
6
  [![Dependency Status](https://gemnasium.com/opennorth/popit-ruby.png)](https://gemnasium.com/opennorth/popit-ruby)
6
- [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/opennorth/popit-ruby)
7
+ [![Coverage Status](https://coveralls.io/repos/opennorth/popit-ruby/badge.png?branch=master)](https://coveralls.io/r/opennorth/popit-ruby)
8
+ [![Code Climate](https://codeclimate.com/github/opennorth/popit-ruby.png)](https://codeclimate.com/github/opennorth/popit-ruby)
7
9
 
8
10
  ## Installation
9
11
 
@@ -28,11 +30,11 @@ You can pass these options to `PopIt.new`:
28
30
  * `:instance_name` the PopIt instance, usually the first part of the domain name
29
31
  * `:host_name` the PopIt API's host name – defaults to "popit.mysociety.org"
30
32
  * `:port` the PopIt API's port – defaults to 80
31
- * `:version` the PopIt API version – defaults to "v1"
33
+ * `:version` the PopIt API version – defaults to "v0.1"
32
34
  * `:user` a user name – if blank, the API will be read-only
33
35
  * `:password` the user's password
34
36
 
35
- For brevity, we only show examples below for `person` items, but you can use the same code to operate on organisations and positions by substituting `organisation` or `position` for `person`.
37
+ For brevity, we only show examples below for `persons` documents, but you can use the same code to operate on organizations and memberships by substituting `organizations` or `memberships` for `persons`.
36
38
 
37
39
  More documentation at [RubyDoc.info](http://rdoc.info/gems/popit/PopIt).
38
40
 
@@ -41,42 +43,38 @@ More documentation at [RubyDoc.info](http://rdoc.info/gems/popit/PopIt).
41
43
  Get all people:
42
44
 
43
45
  ```ruby
44
- response = api.person.get
45
- p response['results']
46
+ api.persons.get
46
47
  ```
47
48
 
48
49
  Get one person:
49
50
 
50
51
  ```ruby
51
- response = api.person('47cc67093475061e3d95369d').get
52
- p response['result']
52
+ api.persons('47cc67093475061e3d95369d').get
53
53
  ```
54
54
 
55
55
  You can also search for...
56
56
 
57
57
  * people by slug, name or summary
58
- * organisations by slug or name
59
- * positions by title, person or organisation
58
+ * organizations by slug or name
59
+ * memberships by title, person or organization
60
60
 
61
61
  For example:
62
62
 
63
63
  ```ruby
64
- response = api.person.get :name => 'John Doe'
65
- p response['results']
64
+ api.person.get :name => 'John Doe'
66
65
  ```
67
66
 
68
67
  ### Create
69
68
 
70
69
  ```ruby
71
70
  response = api.person.post :name => 'John Doe'
72
- id = response['result']['_id']
71
+ id = response['id']
73
72
  ```
74
73
 
75
74
  ### Update
76
75
 
77
76
  ```ruby
78
- response = api.person(id).put :name => 'Jane Doe'
79
- p response['result']
77
+ api.person(id).put :id => id, :name => 'Jane Doe'
80
78
  ```
81
79
 
82
80
  ### Delete
@@ -87,29 +85,24 @@ success = api.person(id).delete
87
85
 
88
86
  ## Error Handling
89
87
 
90
- If you attempt to:
88
+ You will raise a `PopIt::PageNotFound` exception if you attempt to access an instance, API version, collection or document that doesn't exist. You will raise a `PopIt::NotAuthenticated` exception if you attempt to create, update or delete a document without authenticating. In other error cases, you will raise a generic `PopIt::Error` exception.
91
89
 
92
- * read an item that doesn't exist
93
- * create, update or delete an item without authenticating
94
- * operate on something other than people, organisations and positions
95
-
96
- you will raise a `PopIt::Error` exception. The exception's message will be the same as from the PopIt API.
90
+ The exception's message will be the same as from the PopIt API.
97
91
 
98
92
  ```ruby
99
93
  require 'popit'
100
94
  api = PopIt.new :instance_name => 'demo'
101
- api.person.get 'foo' # raises PopIt::Error with {"error":"page not found"}
95
+ api.person.get 'foo' # raises PopIt::PageNotFound with "page not found"
102
96
  ```
103
97
 
104
98
  ## Running Tests
105
99
 
106
- To run the tests, create a `spec_auth.yml` file in the `spec` directory with the contents:
100
+ To run the tests:
107
101
 
108
- ```yml
109
- instance_name: YOUR_TEST_INSTANCE
110
- user: YOUR_USERNAME
111
- password: YOUR_PASSWORD
112
- ```
102
+ export INSTANCE_NAME=YOUR_POPIT_INSTANCE_NAME
103
+ export POPIT_USER=YOUR_POPIT_EMAIL_ADDRESS
104
+ export POPIT_PASSWORD=YOUR_POPIT_PASSWORD
105
+ bundle exec rake
113
106
 
114
107
  **If you care about the data in an instance, do not use that instance to run tests!**
115
108
 
data/lib/popit/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class PopIt
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/popit.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'httparty'
2
- require 'yajl'
3
2
 
4
3
  # A Ruby wrapper for the PopIt API.
5
4
  #
@@ -8,11 +7,11 @@ require 'yajl'
8
7
  #
9
8
  # require 'popit'
10
9
  # api = PopIt.new :instance_name => 'demo'
11
- # api.get 'person/john-doe'
10
+ # api.get 'persons/john-doe'
12
11
  #
13
12
  # can be written as:
14
13
  #
15
- # api.person('john-doe').get
14
+ # api.persons('john-doe').get
16
15
  #
17
16
  # All methods and arguments between `api` and the HTTP method - in this case,
18
17
  # `get` - become parts of the path.
@@ -20,17 +19,30 @@ require 'yajl'
20
19
  # @see https://github.com/mysociety/popit/blob/master/lib/apps/api/api_v1.js
21
20
  class PopIt
22
21
  class Error < StandardError; end
22
+ class PageNotFound < Error; end
23
+ class NotAuthenticated < Error; end
23
24
 
24
25
  include HTTParty
25
26
 
26
- attr_reader :instance_name, :host_name, :port, :version, :username, :password
27
+ # The instance name.
28
+ attr_reader :instance_name
29
+ # The PopIt API's host name, eg "popit.mysociety.org".
30
+ attr_reader :host_name
31
+ # The PopIt API's port, eg 80
32
+ attr_reader :port
33
+ # The PopIt API version, eg "v0.1"
34
+ attr_reader :version
35
+ # A user name.
36
+ attr_reader :username
37
+ # The user's password.
38
+ attr_reader :password
27
39
 
28
40
  # Initializes a PopIt API client.
29
41
  #
30
42
  # @param [Hash] opts the API client's configuration
31
43
  # @option opts [String] :instance_name the instance name
32
44
  # @option opts [String] :host_name the PopIt API's host name, eg "popit.mysociety.org"
33
- # @option opts [String] :post the PopIt API's port, eg "80"
45
+ # @option opts [String] :post the PopIt API's port, eg 80
34
46
  # @option opts [String] :version the PopIt API version, eg "v1"
35
47
  # @option opts [String] :user a user name
36
48
  # @option opts [String] :password the user's password
@@ -41,13 +53,13 @@ class PopIt
41
53
 
42
54
  @instance_name = opts[:instance_name]
43
55
  @host_name = opts[:host_name] || 'popit.mysociety.org'
44
- @port = opts[:port]
45
- @version = opts[:version] || 'v1'
56
+ @port = opts[:port] || 80
57
+ @version = opts[:version] || 'v0.1'
46
58
  @username = opts[:user]
47
59
  @password = opts[:password]
48
60
  end
49
61
 
50
- # Send a GET request.
62
+ # Sends a GET request.
51
63
  #
52
64
  # @param [String] path a path with no leading slash
53
65
  # @param [Hash] opts key-value pairs for the query string
@@ -56,7 +68,7 @@ class PopIt
56
68
  request :get, path, opts
57
69
  end
58
70
 
59
- # Send a POST request.
71
+ # Sends a POST request.
60
72
  #
61
73
  # @param [String] path a path with no leading slash
62
74
  # @param [Hash] opts key-value pairs for the message body
@@ -65,7 +77,7 @@ class PopIt
65
77
  request :post, path, opts
66
78
  end
67
79
 
68
- # Send a PUT request.
80
+ # Sends a PUT request.
69
81
  #
70
82
  # @param [String] path a path with no leading slash
71
83
  # @param [Hash] opts key-value pairs for the message body
@@ -74,7 +86,7 @@ class PopIt
74
86
  request :put, path, opts
75
87
  end
76
88
 
77
- # Send a DELETE request.
89
+ # Sends a DELETE request.
78
90
  #
79
91
  # @param [String] path a path with no leading slash
80
92
  # @param [Hash] opts key-value pairs for the query string
@@ -97,16 +109,23 @@ private
97
109
  self.class.send http_method, path, :basic_auth => {:username => username, :password => password}, :body => opts
98
110
  end
99
111
 
100
- unless ['200', '201', '204'].include? response.response.code
101
- message = if response.response.content_type == 'text/html'
102
- response.response.code
112
+ unless ['200', '201', '204'].include?(response.response.code)
113
+ if response.response.content_type == 'text/html'
114
+ message = response.response.code
103
115
  else
104
- response.response.body
116
+ message = response.parsed_response['error'] || response.parsed_response['errors'].join(', ')
117
+ end
118
+ case response.response.code
119
+ when '404'
120
+ raise PopIt::PageNotFound, message
121
+ when '401'
122
+ raise PopIt::NotAuthenticated, message
123
+ else
124
+ raise PopIt::Error, message
105
125
  end
106
- raise PopIt::Error, message
107
126
  end
108
127
 
109
- response.parsed_response
128
+ response.parsed_response && response.parsed_response['result']
110
129
  end
111
130
 
112
131
  def method_missing(*args)
data/popit.gemspec CHANGED
@@ -1,6 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "popit/version"
2
+ require File.expand_path('../lib/popit/version', __FILE__)
4
3
 
5
4
  Gem::Specification.new do |s|
6
5
  s.name = "popit"
@@ -11,14 +10,15 @@ Gem::Specification.new do |s|
11
10
  s.homepage = "http://github.com/opennorth/popit-ruby"
12
11
  s.summary = %q{The PopIt API Ruby Gem}
13
12
  s.description = %q{A Ruby wrapper for the PopIt API}
13
+ s.license = 'MIT'
14
14
 
15
15
  s.files = `git ls-files`.split("\n")
16
16
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
17
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
18
  s.require_paths = ["lib"]
19
19
 
20
- s.add_runtime_dependency('yajl-ruby', '~> 1.0')
21
- s.add_runtime_dependency('httparty', '~> 0.8.0')
20
+ s.add_runtime_dependency('httparty', '~> 0.10.0')
22
21
  s.add_development_dependency('rspec', '~> 2.10')
23
22
  s.add_development_dependency('rake')
23
+ s.add_development_dependency('coveralls')
24
24
  end
data/spec/popit_spec.rb CHANGED
@@ -11,88 +11,99 @@ describe PopIt do
11
11
  end
12
12
 
13
13
  let :authenticated do
14
- PopIt.new YAML.load_file(File.expand_path(File.dirname(__FILE__) + '/spec_auth.yml'))
14
+ PopIt.new({
15
+ :instance_name => ENV['INSTANCE_NAME'] || 'tttest',
16
+ :user => ENV['POPIT_USER'] || 'james@opennorth.ca',
17
+ :password => ENV['POPIT_PASSWORD'],
18
+ })
15
19
  end
16
20
 
17
21
  it 'should fail to send a request to a bad instance' do
18
22
  api = PopIt.new :instance_name => '47cc67093475061e3d95369d'
19
- expect { api.person.get }.to raise_error(PopIt::Error, '404')
23
+ expect { api.persons.get }.to raise_error(PopIt::PageNotFound, '404')
20
24
  end
21
25
 
22
26
  it 'should fail to send a request to a bad version' do
23
27
  api = PopIt.new :instance_name => 'tttest', :version => 'v0'
24
- expect { api.person.get }.to raise_error(PopIt::Error, '{"error":"page not found"}')
28
+ expect { api.persons.get }.to raise_error(PopIt::PageNotFound, 'page not found')
25
29
  end
26
30
 
27
31
  context 'with a PopIt instance' do
28
- before :all do
29
- @person = authenticated.person.post(:name => 'John Doe', :slug => 'john-doe')['result']
30
- end
31
-
32
32
  let :person do
33
- @person
33
+ unauthenticated.persons.get(:name => 'Foo', :slug => 'foo')[0]
34
34
  end
35
35
 
36
36
  let :id do
37
- @person['_id']
37
+ person['id']
38
38
  end
39
39
 
40
40
  it 'should fail to send a request to a bad schema' do
41
- expect { unauthenticated.foo.get }.to raise_error(PopIt::Error, '{"error":"page not found"}')
41
+ expect { unauthenticated.foo.get }.to raise_error(PopIt::PageNotFound, "collection 'foo' not found")
42
42
  end
43
43
 
44
44
  context 'when unauthenticated' do
45
45
  it 'should get all items' do
46
- response = unauthenticated.person.get
47
- results = response['results']
48
- results.should be_an(Array)
46
+ response = unauthenticated.persons.get
47
+ response.should be_an(Array)
49
48
  end
50
49
 
51
50
  it 'should get one item by name' do
52
- response = unauthenticated.person.get :name => 'John Doe'
53
- results = response['results']
54
- results.should be_an(Array)
51
+ response = unauthenticated.persons.get :name => 'Foo'
52
+ response.should be_an(Array)
55
53
  end
56
54
 
57
55
  it 'should get one item' do
58
- response = unauthenticated.person(id).get
59
- result = response['result']
60
- result.should == person
56
+ response = unauthenticated.persons(id).get
57
+ # PopIt adds fields e.g. __v, _internal, contact_details, images, links,
58
+ # other_names, personal_details and adds positions_api_url to meta.
59
+ person.each do |k,v|
60
+ unless k == 'meta'
61
+ response[k].should == v
62
+ end
63
+ end
61
64
  end
62
65
 
63
66
  it 'should fail to get a non-existent item' do
64
- expect { unauthenticated.person('foo').get }.to raise_error(PopIt::Error, '{"error":"page not found"}')
67
+ expect {unauthenticated.persons('bar').get}.to raise_error(PopIt::PageNotFound, "id 'bar' not found")
65
68
  end
66
69
 
67
70
  it 'should fail to create an item' do
68
- expect {unauthenticated.person.post :name => 'John Doe', :slug => 'john-doe'}.to raise_error(PopIt::Error, %({"error":"not authenticated"}))
71
+ expect {unauthenticated.persons.post :name => 'John Doe', :slug => 'john-doe'}.to raise_error(PopIt::NotAuthenticated, 'not authenticated')
69
72
  end
70
73
 
71
74
  it 'should fail to update an item' do
72
- expect {unauthenticated.person(id).put :name => 'Jane Doe'}.to raise_error(PopIt::Error, %({"error":"not authenticated"}))
75
+ expect {unauthenticated.persons(id).put :id => id, :name => 'John Doe', :slug => 'john-doe'}.to raise_error(PopIt::NotAuthenticated, 'not authenticated')
73
76
  end
74
77
 
75
78
  it 'should fail to delete an item' do
76
- expect {unauthenticated.person(id).delete}.to raise_error(PopIt::Error, %({"error":"not authenticated"}))
79
+ expect {unauthenticated.persons(id).delete}.to raise_error(PopIt::NotAuthenticated, 'not authenticated')
77
80
  end
78
81
  end
79
82
 
80
83
  context 'when authenticated' do
81
- it 'should create an item' do
82
- response = authenticated.person.post :name => 'John Smith'
83
- result = response['result']
84
- result['name'].should == 'John Smith'
85
- authenticated.person(result['_id']).delete # cleanup
86
- end
87
-
88
- it 'should update an item' do
89
- response = authenticated.person(id).put :name => 'John Smith'
84
+ it 'should create, update and delete an item' do
85
+ response = authenticated.persons.post :name => 'John Smith', :slug => 'john-smith'
86
+ id = response['id']
87
+ response['name'].should == 'John Smith'
88
+
89
+ response = authenticated.persons(id).put :id => id, :name => 'John Doe', :slug => 'john-doe'
90
+ response.should == {
91
+ 'id' => id,
92
+ 'name' => 'John Doe',
93
+ 'slug' => 'john-doe',
94
+ 'memberships' => [],
95
+ 'links' => [],
96
+ 'contact_details' => [],
97
+ 'identifiers' => [],
98
+ 'other_names' => [],
99
+ 'url' => 'http://tttest.popit.mysociety.org/api/v0.1/persons/' + id,
100
+ 'html_url' => 'http://tttest.popit.mysociety.org/persons/john-doe',
101
+ }
102
+ authenticated.persons(id).get['name'].should == 'John Doe'
103
+
104
+ response = authenticated.persons(id).delete
90
105
  response.should == nil
91
- end
92
-
93
- it 'should delete an item' do
94
- response = authenticated.person(id).delete
95
- response.should == {}
106
+ expect {authenticated.persons(id).get}.to raise_error(PopIt::PageNotFound, "id '#{id}' not found")
96
107
  end
97
108
  end
98
109
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,7 @@
1
1
  require 'rubygems'
2
+
3
+ require 'coveralls'
4
+ Coveralls.wear!
5
+
2
6
  require 'rspec'
3
7
  require File.dirname(__FILE__) + '/../lib/popit'
metadata CHANGED
@@ -1,78 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: popit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 0.0.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Open North
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-09-28 00:00:00.000000000 Z
11
+ date: 2014-03-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: yajl-ruby
14
+ name: httparty
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: '1.0'
19
+ version: 0.10.0
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: '1.0'
26
+ version: 0.10.0
30
27
  - !ruby/object:Gem::Dependency
31
- name: httparty
28
+ name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: 0.8.0
38
- type: :runtime
33
+ version: '2.10'
34
+ type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: 0.8.0
40
+ version: '2.10'
46
41
  - !ruby/object:Gem::Dependency
47
- name: rspec
42
+ name: rake
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
- version: '2.10'
47
+ version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
- version: '2.10'
54
+ version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
- name: rake
56
+ name: coveralls
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  description: A Ruby wrapper for the PopIt API
@@ -84,6 +75,7 @@ extra_rdoc_files: []
84
75
  files:
85
76
  - .gitignore
86
77
  - .travis.yml
78
+ - .yardopts
87
79
  - Gemfile
88
80
  - LICENSE
89
81
  - README.md
@@ -95,30 +87,29 @@ files:
95
87
  - spec/popit_spec.rb
96
88
  - spec/spec_helper.rb
97
89
  homepage: http://github.com/opennorth/popit-ruby
98
- licenses: []
90
+ licenses:
91
+ - MIT
92
+ metadata: {}
99
93
  post_install_message:
100
94
  rdoc_options: []
101
95
  require_paths:
102
96
  - lib
103
97
  required_ruby_version: !ruby/object:Gem::Requirement
104
- none: false
105
98
  requirements:
106
- - - ! '>='
99
+ - - '>='
107
100
  - !ruby/object:Gem::Version
108
101
  version: '0'
109
102
  required_rubygems_version: !ruby/object:Gem::Requirement
110
- none: false
111
103
  requirements:
112
- - - ! '>='
104
+ - - '>='
113
105
  - !ruby/object:Gem::Version
114
106
  version: '0'
115
107
  requirements: []
116
108
  rubyforge_project:
117
- rubygems_version: 1.8.24
109
+ rubygems_version: 2.0.8
118
110
  signing_key:
119
- specification_version: 3
111
+ specification_version: 4
120
112
  summary: The PopIt API Ruby Gem
121
113
  test_files:
122
114
  - spec/popit_spec.rb
123
115
  - spec/spec_helper.rb
124
- has_rdoc: