marvel_api 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.document +1 -1
- data/.rspec +2 -1
- data/.travis.yml +8 -0
- data/Gemfile +11 -4
- data/Guardfile +5 -0
- data/LICENSE.txt +1 -1
- data/README.md +16 -4
- data/Rakefile +11 -8
- data/lib/marvel/client.rb +6 -14
- data/lib/marvel/connection.rb +10 -2
- data/lib/marvel/error.rb +16 -0
- data/lib/marvel/request.rb +22 -8
- data/lib/marvel/response.rb +21 -0
- data/lib/marvel/version.rb +14 -0
- data/marvel_api.gemspec +75 -18
- data/spec/fixtures/characters/character.json +341 -0
- data/spec/fixtures/characters/character_comics.json +4975 -0
- data/spec/fixtures/characters/character_events.json +1666 -0
- data/spec/fixtures/characters/character_series.json +6117 -0
- data/spec/fixtures/characters/character_stories.json +1873 -0
- data/spec/fixtures/characters/characters.json +3006 -0
- data/spec/fixtures/comics/comic.json +359 -0
- data/spec/fixtures/comics/comic_characters.json +4649 -0
- data/spec/fixtures/comics/comic_creators.json +4387 -0
- data/spec/fixtures/comics/comic_events.json +522 -0
- data/spec/fixtures/comics/comic_stories.json +1985 -0
- data/spec/fixtures/comics/comics.json +2246 -0
- data/spec/fixtures/creators/creator.json +340 -0
- data/spec/fixtures/creators/creator_comics.json +2856 -0
- data/spec/fixtures/creators/creator_events.json +1899 -0
- data/spec/fixtures/creators/creator_series.json +4686 -0
- data/spec/fixtures/creators/creator_stories.json +1491 -0
- data/spec/fixtures/creators/creators.json +1376 -0
- data/spec/fixtures/errors/empty_parameter.json +4 -0
- data/spec/fixtures/errors/excessive_filter_values.json +4 -0
- data/spec/fixtures/errors/invalid_credentials.json +4 -0
- data/spec/fixtures/errors/invalid_filter_value.json +4 -0
- data/spec/fixtures/errors/invalid_hash_ts_key_combo.json +4 -0
- data/spec/fixtures/errors/invalid_ordering.json +4 -0
- data/spec/fixtures/errors/invalid_parameter.json +4 -0
- data/spec/fixtures/errors/limit_invalid.json +4 -0
- data/spec/fixtures/errors/limit_over_100.json +4 -0
- data/spec/fixtures/errors/resource_not_found.json +4 -0
- data/spec/fixtures/events/event.json +522 -0
- data/spec/fixtures/events/event_characters.json +6397 -0
- data/spec/fixtures/events/event_comics.json +4718 -0
- data/spec/fixtures/events/event_creators.json +5869 -0
- data/spec/fixtures/events/event_series.json +2243 -0
- data/spec/fixtures/events/event_stories.json +4846 -0
- data/spec/fixtures/events/events.json +8613 -0
- data/spec/fixtures/series/serie.json +448 -0
- data/spec/fixtures/series/series.json +3464 -0
- data/spec/fixtures/series/series_characters.json +6029 -0
- data/spec/fixtures/series/series_comics.json +2935 -0
- data/spec/fixtures/series/series_creators.json +5923 -0
- data/spec/fixtures/series/series_events.json +944 -0
- data/spec/fixtures/series/series_stories.json +1544 -0
- data/spec/fixtures/stories/stories.json +1282 -0
- data/spec/fixtures/stories/story.json +117 -0
- data/spec/fixtures/stories/story_characters.json +794 -0
- data/spec/fixtures/stories/story_comics.json +522 -0
- data/spec/fixtures/stories/story_creators.json +1672 -0
- data/spec/fixtures/stories/story_events.json +522 -0
- data/spec/fixtures/stories/story_series.json +695 -0
- data/spec/marvel_api/client/client_character_spec.rb +142 -0
- data/spec/marvel_api/client/client_comic_spec.rb +141 -0
- data/spec/marvel_api/client/client_creator_spec.rb +139 -0
- data/spec/marvel_api/client/client_event_spec.rb +163 -0
- data/spec/marvel_api/client/client_series_spec.rb +165 -0
- data/spec/marvel_api/client/client_story_spec.rb +162 -0
- data/spec/marvel_api/error_spec.rb +192 -0
- data/spec/marvel_api_spec.rb +15 -3
- data/spec/spec_helper.rb +55 -4
- metadata +83 -27
- data/VERSION +0 -1
- data/spec/marvel_api/client_spec.rb +0 -7
data/spec/marvel_api_spec.rb
CHANGED
@@ -1,9 +1,21 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Marvel do
|
4
4
|
describe '.new' do
|
5
|
-
it '
|
6
|
-
Marvel.new.
|
5
|
+
it 'returns a Marvel::Client' do
|
6
|
+
expect(Marvel.new).to be_a Marvel::Client
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '.configure' do
|
11
|
+
it 'sets the api_key and private_key' do
|
12
|
+
Marvel.configure do |config|
|
13
|
+
config.api_key = '1234'
|
14
|
+
config.private_key = 'abcd'
|
15
|
+
end
|
16
|
+
|
17
|
+
expect(Marvel.api_key).to eq '1234'
|
18
|
+
expect(Marvel.private_key).to eq 'abcd'
|
7
19
|
end
|
8
20
|
end
|
9
21
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,16 +1,67 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
require 'coveralls'
|
3
|
+
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
5
|
+
SimpleCov::Formatter::HTMLFormatter,
|
6
|
+
Coveralls::SimpleCov::Formatter
|
7
|
+
]
|
8
|
+
|
9
|
+
SimpleCov.start
|
10
|
+
|
1
11
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
12
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
13
|
+
|
3
14
|
require 'rspec'
|
15
|
+
require 'webmock/rspec'
|
4
16
|
require 'marvel_api'
|
5
17
|
|
6
18
|
# Requires supporting files with custom matchers and macros, etc,
|
7
19
|
# in ./support/ and its subdirectories.
|
8
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
20
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
9
21
|
|
10
22
|
RSpec.configure do |config|
|
11
|
-
|
23
|
+
config.expect_with(:rspec) { |c| c.syntax = :expect }
|
24
|
+
end
|
25
|
+
|
26
|
+
WebMock.disable_net_connect!(allow: 'coveralls.io')
|
27
|
+
|
28
|
+
def marvel_test_client
|
29
|
+
Marvel::Client.new.tap do |client|
|
30
|
+
client.configure do |config|
|
31
|
+
config.api_key = '1234'
|
32
|
+
config.private_key = 'abcd'
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
AUTH = '?ts=1&apikey=1234&hash=ffd275c5130566a2916217b101f26150'
|
38
|
+
|
39
|
+
def stub_get(path, options = {})
|
40
|
+
file = options.delete(:returns)
|
41
|
+
code = options.delete(:response_code) || 200
|
42
|
+
etag = options.delete(:etag)
|
43
|
+
headers = Marvel::Connection::HEADERS
|
44
|
+
headers.merge!('If-None-Match' => etag) if etag
|
45
|
+
params = '&' + options.map { |k, v| "#{k}=#{v}" } * '&'
|
46
|
+
endpoint = Marvel::Connection::BASE_API_URL + path + AUTH + params
|
47
|
+
stub_request(:get, endpoint)
|
48
|
+
.with(headers: headers)
|
49
|
+
.to_return(body: fixture(file), status: code)
|
50
|
+
end
|
51
|
+
|
52
|
+
def fixture_path
|
53
|
+
File.expand_path('../fixtures', __FILE__)
|
54
|
+
end
|
55
|
+
|
56
|
+
def fixture(file)
|
57
|
+
File.new(fixture_path + '/' + file) rescue nil
|
12
58
|
end
|
13
59
|
|
14
|
-
Marvel
|
15
|
-
|
60
|
+
module Marvel
|
61
|
+
module Request
|
62
|
+
private
|
63
|
+
def timestamp
|
64
|
+
'1'
|
65
|
+
end
|
66
|
+
end
|
16
67
|
end
|
metadata
CHANGED
@@ -1,57 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marvel_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rahul Horé
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
+
- - "<"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.10'
|
17
20
|
- - ">="
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
22
|
+
version: '0.7'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
27
|
+
- - "<"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.10'
|
24
30
|
- - ">="
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
32
|
+
version: '0.7'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: faraday_middleware
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
37
|
+
- - "<"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0.10'
|
31
40
|
- - ">="
|
32
41
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
42
|
+
version: '0.8'
|
34
43
|
type: :runtime
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
47
|
+
- - "<"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0.10'
|
38
50
|
- - ">="
|
39
51
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
52
|
+
version: '0.8'
|
41
53
|
- !ruby/object:Gem::Dependency
|
42
54
|
name: hashie
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
44
56
|
requirements:
|
45
57
|
- - ">="
|
46
58
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
59
|
+
version: 0.4.0
|
48
60
|
type: :runtime
|
49
61
|
prerelease: false
|
50
62
|
version_requirements: !ruby/object:Gem::Requirement
|
51
63
|
requirements:
|
52
64
|
- - ">="
|
53
65
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
66
|
+
version: 0.4.0
|
55
67
|
- !ruby/object:Gem::Dependency
|
56
68
|
name: pry
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,22 +148,7 @@ dependencies:
|
|
136
148
|
- - "~>"
|
137
149
|
- !ruby/object:Gem::Version
|
138
150
|
version: 1.8.7
|
139
|
-
|
140
|
-
name: simplecov
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
|
-
description: Marvel_API is a Ruby gem that lets you explore the Marvel Universe like
|
154
|
-
never before.
|
151
|
+
description: Explore the Marvel Universe like never before.
|
155
152
|
email: hore.rahul@gmail.com
|
156
153
|
executables: []
|
157
154
|
extensions: []
|
@@ -161,18 +158,77 @@ extra_rdoc_files:
|
|
161
158
|
files:
|
162
159
|
- ".document"
|
163
160
|
- ".rspec"
|
161
|
+
- ".travis.yml"
|
164
162
|
- Gemfile
|
163
|
+
- Guardfile
|
165
164
|
- LICENSE.txt
|
166
165
|
- README.md
|
167
166
|
- Rakefile
|
168
|
-
- VERSION
|
169
167
|
- lib/marvel/client.rb
|
170
168
|
- lib/marvel/configuration.rb
|
171
169
|
- lib/marvel/connection.rb
|
170
|
+
- lib/marvel/error.rb
|
172
171
|
- lib/marvel/request.rb
|
172
|
+
- lib/marvel/response.rb
|
173
|
+
- lib/marvel/version.rb
|
173
174
|
- lib/marvel_api.rb
|
174
175
|
- marvel_api.gemspec
|
175
|
-
- spec/
|
176
|
+
- spec/fixtures/characters/character.json
|
177
|
+
- spec/fixtures/characters/character_comics.json
|
178
|
+
- spec/fixtures/characters/character_events.json
|
179
|
+
- spec/fixtures/characters/character_series.json
|
180
|
+
- spec/fixtures/characters/character_stories.json
|
181
|
+
- spec/fixtures/characters/characters.json
|
182
|
+
- spec/fixtures/comics/comic.json
|
183
|
+
- spec/fixtures/comics/comic_characters.json
|
184
|
+
- spec/fixtures/comics/comic_creators.json
|
185
|
+
- spec/fixtures/comics/comic_events.json
|
186
|
+
- spec/fixtures/comics/comic_stories.json
|
187
|
+
- spec/fixtures/comics/comics.json
|
188
|
+
- spec/fixtures/creators/creator.json
|
189
|
+
- spec/fixtures/creators/creator_comics.json
|
190
|
+
- spec/fixtures/creators/creator_events.json
|
191
|
+
- spec/fixtures/creators/creator_series.json
|
192
|
+
- spec/fixtures/creators/creator_stories.json
|
193
|
+
- spec/fixtures/creators/creators.json
|
194
|
+
- spec/fixtures/errors/empty_parameter.json
|
195
|
+
- spec/fixtures/errors/excessive_filter_values.json
|
196
|
+
- spec/fixtures/errors/invalid_credentials.json
|
197
|
+
- spec/fixtures/errors/invalid_filter_value.json
|
198
|
+
- spec/fixtures/errors/invalid_hash_ts_key_combo.json
|
199
|
+
- spec/fixtures/errors/invalid_ordering.json
|
200
|
+
- spec/fixtures/errors/invalid_parameter.json
|
201
|
+
- spec/fixtures/errors/limit_invalid.json
|
202
|
+
- spec/fixtures/errors/limit_over_100.json
|
203
|
+
- spec/fixtures/errors/resource_not_found.json
|
204
|
+
- spec/fixtures/events/event.json
|
205
|
+
- spec/fixtures/events/event_characters.json
|
206
|
+
- spec/fixtures/events/event_comics.json
|
207
|
+
- spec/fixtures/events/event_creators.json
|
208
|
+
- spec/fixtures/events/event_series.json
|
209
|
+
- spec/fixtures/events/event_stories.json
|
210
|
+
- spec/fixtures/events/events.json
|
211
|
+
- spec/fixtures/series/serie.json
|
212
|
+
- spec/fixtures/series/series.json
|
213
|
+
- spec/fixtures/series/series_characters.json
|
214
|
+
- spec/fixtures/series/series_comics.json
|
215
|
+
- spec/fixtures/series/series_creators.json
|
216
|
+
- spec/fixtures/series/series_events.json
|
217
|
+
- spec/fixtures/series/series_stories.json
|
218
|
+
- spec/fixtures/stories/stories.json
|
219
|
+
- spec/fixtures/stories/story.json
|
220
|
+
- spec/fixtures/stories/story_characters.json
|
221
|
+
- spec/fixtures/stories/story_comics.json
|
222
|
+
- spec/fixtures/stories/story_creators.json
|
223
|
+
- spec/fixtures/stories/story_events.json
|
224
|
+
- spec/fixtures/stories/story_series.json
|
225
|
+
- spec/marvel_api/client/client_character_spec.rb
|
226
|
+
- spec/marvel_api/client/client_comic_spec.rb
|
227
|
+
- spec/marvel_api/client/client_creator_spec.rb
|
228
|
+
- spec/marvel_api/client/client_event_spec.rb
|
229
|
+
- spec/marvel_api/client/client_series_spec.rb
|
230
|
+
- spec/marvel_api/client/client_story_spec.rb
|
231
|
+
- spec/marvel_api/error_spec.rb
|
176
232
|
- spec/marvel_api_spec.rb
|
177
233
|
- spec/spec_helper.rb
|
178
234
|
homepage: http://github.com/O-I/marvel
|
@@ -187,7 +243,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
187
243
|
requirements:
|
188
244
|
- - ">="
|
189
245
|
- !ruby/object:Gem::Version
|
190
|
-
version:
|
246
|
+
version: 1.9.3
|
191
247
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
248
|
requirements:
|
193
249
|
- - ">="
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.2.0
|