met_museum 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1a6ff7996fca8e8a4d71cbd008cc165f7a34b54437b033846621212b62fd32d7
4
- data.tar.gz: e33a584975d9be2be1e784b2d6fa0337fa77484f45fa1ad601944340a71fa81a
3
+ metadata.gz: '08d6d07c0f9c75193191f9c558faacfb3b4c3cdf29c32b7ec9683d9aafa86480'
4
+ data.tar.gz: f58005f169eceb608b22b53fbd59c8187aed3a6cb0443181761fb421f5c4c505
5
5
  SHA512:
6
- metadata.gz: 9cf96db161ff8ebc0f0c7b6915b33794d06e2842bd4f259cc9021ddc60fed1bb6635609df62eca430c144d564bd298fef44487ba6b995f3cfaf992b972b6c9f5
7
- data.tar.gz: '029652a62061d9acc487832efe653f1c0879358c7b9d39217918738319777b120f3be74bb57e0cdbc4f4d00ca5edefc44fece695d233c71a89be89ab83258683'
6
+ metadata.gz: beefedd3fad4533944b0ae179be71c3240b394c571970166c4b8293531f6a50526dc12f58baef474c6547bc61ad21a0de59052117cb7391d8b2d7a76dfde0a49
7
+ data.tar.gz: f6c9e98f847f7d17e912f89f3fbf3a368cde50fc6142dc01a5de6cdf292553104cd293e356924ce54ea2b806199c1303eb4509d7d720c57b4e8a3e9db09a2ca1
data/.travis.yml CHANGED
@@ -4,4 +4,6 @@ language: ruby
4
4
  cache: bundler
5
5
  rvm:
6
6
  - 2.5.0
7
- before_install: gem install bundler -v 2.0.1
7
+ - 2.4.2
8
+ script:
9
+ - bundle exec rspec spec/
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- met_museum (1.1.0)
4
+ met_museum (1.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -29,6 +29,8 @@ GEM
29
29
  rspec-mocks (3.8.0)
30
30
  diff-lcs (>= 1.2.0, < 2.0)
31
31
  rspec-support (~> 3.8.0)
32
+ rspec-retry (0.6.1)
33
+ rspec-core (> 3.3)
32
34
  rspec-support (3.8.0)
33
35
 
34
36
  PLATFORMS
@@ -42,6 +44,7 @@ DEPENDENCIES
42
44
  pry
43
45
  rake (~> 10.0)
44
46
  rspec (~> 3.0)
47
+ rspec-retry
45
48
 
46
49
  BUNDLED WITH
47
50
  2.0.1
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ <img src="https://img.shields.io/travis/hyuraku/met_museum.svg"> <img src="https://img.shields.io/gem/v/met_museum.svg">
2
+
1
3
  # MetMuseum
2
4
 
3
5
  The Metropolitan Museum of Art Collection API Ruby wrapper
@@ -113,6 +115,20 @@ collection.object(1000)
113
115
  </pre>
114
116
  </details>
115
117
 
118
+ MetMuseum::Collection.search
119
+ ```
120
+ collection.search('ocean')
121
+ => {"total"=>189,
122
+ "objectIDs"=>
123
+ [250487,
124
+ 12544,
125
+ 436005,
126
+ 8314,
127
+ 8315,
128
+ 8317,
129
+ --< omit >--
130
+ ```
131
+
116
132
  ## Contributing
117
133
 
118
134
  Bug reports and pull requests are welcome on GitHub at https://github.com/hyuraku/met_museum. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
@@ -0,0 +1,10 @@
1
+ module MetMuseum
2
+ MetMuseumError = Class.new(StandardError)
3
+ BadRequestError = Class.new(MetMuseumError)
4
+ UnauthorizedError = Class.new(MetMuseumError)
5
+ ForbiddenError = Class.new(MetMuseumError)
6
+ ApiRequestsQuotaReachedError = Class.new(MetMuseumError)
7
+ NotFoundError = Class.new(MetMuseumError)
8
+ UnprocessableEntityError = Class.new(MetMuseumError)
9
+ ApiError = Class.new(MetMuseumError)
10
+ end
@@ -1,27 +1,5 @@
1
1
  module MetMuseum
2
2
  class Collection
3
- MetMuseumError = Class.new(StandardError)
4
- BadRequestError = Class.new(MetMuseumError)
5
- UnauthorizedError = Class.new(MetMuseumError)
6
- ForbiddenError = Class.new(MetMuseumError)
7
- ApiRequestsQuotaReachedError = Class.new(MetMuseumError)
8
- NotFoundError = Class.new(MetMuseumError)
9
- UnprocessableEntityError = Class.new(MetMuseumError)
10
- ApiError = Class.new(MetMuseumError)
11
-
12
- API_ENDPOINT = "https://collectionapi.metmuseum.org".freeze
13
- PUBLIC_URI = "/public/collection/v1/objects".freeze
14
- SEARCH_URI = "/public/collection/v1/search".freeze
15
-
16
- HTTP_OK_CODE = 200.freeze
17
-
18
- HTTP_BAD_REQUEST_CODE = 400.freeze
19
- HTTP_UNAUTHORIZED_CODE = 401.freeze
20
- HTTP_FORBIDDEN_CODE = 403.freeze
21
- HTTP_NOT_FOUND_CODE = 404.freeze
22
- HTTP_UNPROCESSABLE_ENTITY_CODE = 429.freeze
23
-
24
-
25
3
  # Return a listing of all valid Object IDs available to use
26
4
  # @param [String] metadataDate Returns any objects with updated data after this date
27
5
  # @return [Hash<total, Integer>] The total number of publicly-available objects
@@ -105,6 +83,8 @@ module MetMuseum
105
83
  raise error_class(response), "Code: #{response.status}, response: #{response.body}"
106
84
  end
107
85
 
86
+ private
87
+
108
88
  def error_class(response)
109
89
  case response.status
110
90
  when HTTP_BAD_REQUEST_CODE
@@ -0,0 +1,5 @@
1
+ module MetMuseum
2
+ API_ENDPOINT = "https://collectionapi.metmuseum.org".freeze
3
+ PUBLIC_URI = "/public/collection/v1/objects".freeze
4
+ SEARCH_URI = "/public/collection/v1/search".freeze
5
+ end
@@ -0,0 +1,8 @@
1
+ module MetMuseum
2
+ HTTP_OK_CODE = 200.freeze
3
+ HTTP_BAD_REQUEST_CODE = 400.freeze
4
+ HTTP_UNAUTHORIZED_CODE = 401.freeze
5
+ HTTP_FORBIDDEN_CODE = 403.freeze
6
+ HTTP_NOT_FOUND_CODE = 404.freeze
7
+ HTTP_UNPROCESSABLE_ENTITY_CODE = 429.freeze
8
+ end
@@ -1,3 +1,3 @@
1
1
  module MetMuseum
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
data/lib/met_museum.rb CHANGED
@@ -1,8 +1,11 @@
1
1
  require "faraday"
2
2
  require "oj"
3
3
 
4
+ require "met_museum/api_expections"
5
+ require "met_museum/endpoint"
6
+ require "met_museum/collection"
7
+ require "met_museum/http_status_code"
4
8
  require "met_museum/version"
5
- require 'met_museum/collection'
6
9
 
7
10
  module MetMuseum
8
11
  end
data/met_museum.gemspec CHANGED
@@ -39,4 +39,5 @@ Gem::Specification.new do |spec|
39
39
  spec.add_development_dependency "rspec", "~> 3.0"
40
40
  spec.add_development_dependency "faraday"
41
41
  spec.add_development_dependency "oj"
42
+ spec.add_development_dependency "rspec-retry"
42
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: met_museum
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - hyuraku
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-02-10 00:00:00.000000000 Z
11
+ date: 2019-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-retry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: 'The Metropolitan Museum of Art Collection API wrapper '
84
98
  email:
85
99
  - calenthird@gamil.com
@@ -99,7 +113,10 @@ files:
99
113
  - bin/console
100
114
  - bin/setup
101
115
  - lib/met_museum.rb
116
+ - lib/met_museum/api_expections.rb
102
117
  - lib/met_museum/collection.rb
118
+ - lib/met_museum/endpoint.rb
119
+ - lib/met_museum/http_status_code.rb
103
120
  - lib/met_museum/version.rb
104
121
  - met_museum.gemspec
105
122
  homepage: https://github.com/hyuraku/met_museum