marvell 0.1.0 → 0.1.1
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.
- checksums.yaml +4 -4
- data/README.md +66 -0
- data/lib/marvell.rb +6 -0
- data/lib/marvell/client.rb +5 -3
- data/lib/marvell/entity.rb +0 -6
- data/spec/fixtures/dish_cassettes/requests.yml +4586 -3750
- data/spec/lib/character_spec.rb +2 -2
- data/spec/lib/client_spec.rb +13 -1
- data/spec/lib/comic_spec.rb +1 -1
- data/spec/lib/entity_spec.rb +2 -2
- data/spec/spec_helper.rb +7 -2
- metadata +3 -4
- data/spec/fixtures/dish_cassettes/character.yml +0 -86
data/spec/lib/character_spec.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
require_relative "../spec_helper"
|
2
2
|
|
3
3
|
describe "a character entity" do
|
4
|
-
before { VCR.insert_cassette '
|
4
|
+
before { VCR.insert_cassette 'requests', record: :new_episodes }
|
5
5
|
after { VCR.eject_cassette }
|
6
6
|
|
7
7
|
describe "parsing the json argument" do
|
8
|
-
let(:client) { Marvell::Client.new(public_key: "
|
8
|
+
let(:client) { Marvell::Client.new(public_key: ENV["PUBLIC_KEY"], private_key: ENV["PRIVATE_KEY"])}
|
9
9
|
let(:character){ client.character(id: 1009521) }
|
10
10
|
|
11
11
|
it "returns a hash result set" do
|
data/spec/lib/client_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative "../spec_helper"
|
2
2
|
|
3
3
|
describe Marvell::Client do
|
4
|
-
let(:client) { Marvell::Client.new(public_key: "
|
4
|
+
let(:client) { Marvell::Client.new(public_key: ENV["PUBLIC_KEY"], private_key: ENV["PRIVATE_KEY"])}
|
5
5
|
|
6
6
|
before { VCR.insert_cassette 'requests', record: :new_episodes }
|
7
7
|
after { VCR.eject_cassette }
|
@@ -66,6 +66,18 @@ describe Marvell::Client do
|
|
66
66
|
characters = client.characters(event_id: 318)
|
67
67
|
characters.first.name.must_equal " Hank Pym"
|
68
68
|
end
|
69
|
+
|
70
|
+
it "returns a set of comics which belong to a creator" do
|
71
|
+
comics = client.comics(creator_id: 4781)
|
72
|
+
comics.first.title.must_equal "Silver Surfer (1987) #139"
|
73
|
+
end
|
74
|
+
|
75
|
+
it "returns 5 comics written by stan lee" do
|
76
|
+
creator = client.creators(first_name: "stan", last_name: "lee").first
|
77
|
+
comics = client.comics(creator_id: creator.id, limit: 5)
|
78
|
+
comics.size.must_equal 5
|
79
|
+
comics.first.title.must_equal "Fantastic Four Epic Collection: All in the Family (Trade Paperback)"
|
80
|
+
end
|
69
81
|
end
|
70
82
|
end
|
71
83
|
|
data/spec/lib/comic_spec.rb
CHANGED
@@ -4,7 +4,7 @@ describe 'marvel comic entity' do
|
|
4
4
|
before { VCR.insert_cassette 'requests', record: :new_episodes }
|
5
5
|
after { VCR.eject_cassette }
|
6
6
|
|
7
|
-
let(:client) { Marvell::Client.new(public_key: "
|
7
|
+
let(:client) { Marvell::Client.new(public_key: ENV["PUBLIC_KEY"], private_key: ENV["PRIVATE_KEY"])}
|
8
8
|
let(:comic){ client.comic(id: 41530) }
|
9
9
|
|
10
10
|
it "returns a hash result set" do
|
data/spec/lib/entity_spec.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
require_relative "../spec_helper"
|
2
2
|
|
3
3
|
describe Marvell::Entity do
|
4
|
-
let(:client) { Marvell::Client.new(public_key: "
|
4
|
+
let(:client) { Marvell::Client.new(public_key: ENV["PUBLIC_KEY"], private_key: ENV["PRIVATE_KEY"])}
|
5
5
|
|
6
|
-
before { VCR.insert_cassette '
|
6
|
+
before { VCR.insert_cassette 'requests', record: :new_episodes }
|
7
7
|
after { VCR.eject_cassette }
|
8
8
|
|
9
9
|
it "finds an entity attribute if one exists" do
|
data/spec/spec_helper.rb
CHANGED
@@ -4,10 +4,15 @@ require 'minitest/autorun'
|
|
4
4
|
require "webmock/minitest"
|
5
5
|
require "vcr"
|
6
6
|
|
7
|
-
#WebMock.allow_net_connect!
|
8
|
-
|
9
7
|
#VCR config
|
10
8
|
VCR.configure do |c|
|
11
9
|
c.cassette_library_dir = 'spec/fixtures/dish_cassettes'
|
12
10
|
c.hook_into :webmock
|
13
11
|
end
|
12
|
+
|
13
|
+
# Moneky-patch time so that the md5 key is always the same
|
14
|
+
class Time
|
15
|
+
def self.now
|
16
|
+
Time.new("2014-02-09 20:24:26 -0600")
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marvell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oz Huner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Ruby Marvel Comics API Wrapper
|
14
14
|
email:
|
@@ -21,7 +21,6 @@ files:
|
|
21
21
|
- lib/marvell/entity.rb
|
22
22
|
- lib/marvell/json_parser.rb
|
23
23
|
- lib/marvell/client.rb
|
24
|
-
- spec/fixtures/dish_cassettes/character.yml
|
25
24
|
- spec/fixtures/dish_cassettes/requests.yml
|
26
25
|
- spec/lib/comic_spec.rb
|
27
26
|
- spec/lib/entity_spec.rb
|
@@ -30,6 +29,7 @@ files:
|
|
30
29
|
- spec/spec_helper.rb
|
31
30
|
- Rakefile
|
32
31
|
- Gemfile
|
32
|
+
- README.md
|
33
33
|
homepage: http://www.github.com/oguzcanhuner/marvell
|
34
34
|
licenses:
|
35
35
|
- MIT
|
@@ -55,7 +55,6 @@ signing_key:
|
|
55
55
|
specification_version: 4
|
56
56
|
summary: Ruby Marvel Comics API Wrapper
|
57
57
|
test_files:
|
58
|
-
- spec/fixtures/dish_cassettes/character.yml
|
59
58
|
- spec/fixtures/dish_cassettes/requests.yml
|
60
59
|
- spec/lib/comic_spec.rb
|
61
60
|
- spec/lib/entity_spec.rb
|
@@ -1,86 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: http://gateway.marvel.com/v1/public//characters/1009521?apikey=07e4dc912806b1c5d1e51687095bca09&hash=0db5e378a0838a56ec2e8fadcc495e9a&ts=1
|
6
|
-
body:
|
7
|
-
encoding: US-ASCII
|
8
|
-
string: ''
|
9
|
-
headers: {}
|
10
|
-
response:
|
11
|
-
status:
|
12
|
-
code: 200
|
13
|
-
message: OK
|
14
|
-
headers:
|
15
|
-
Etag:
|
16
|
-
- 9a3c31018e37345cce34998b3e7e932665ead9c1
|
17
|
-
Content-Type:
|
18
|
-
- application/json
|
19
|
-
Content-Length:
|
20
|
-
- '7285'
|
21
|
-
Date:
|
22
|
-
- Sun, 09 Feb 2014 05:45:46 GMT
|
23
|
-
Connection:
|
24
|
-
- keep-alive
|
25
|
-
body:
|
26
|
-
encoding: UTF-8
|
27
|
-
string: '{"code":200,"status":"Ok","etag":"9a3c31018e37345cce34998b3e7e932665ead9c1","data":{"offset":0,"limit":20,"total":1,"count":1,"results":[{"id":1009521,"name":"
|
28
|
-
Hank Pym","description":"","modified":"1969-12-31T19:00:00-0500","thumbnail":{"path":"http://i.annihil.us/u/prod/marvel/i/mg/8/c0/4ce5a0e31f109","extension":"jpg"},"resourceURI":"http://gateway.marvel.com/v1/public/characters/1009521","comics":{"available":44,"collectionURI":"http://gateway.marvel.com/v1/public/characters/1009521/comics","items":[{"resourceURI":"http://gateway.marvel.com/v1/public/comics/35533","name":"Amazing
|
29
|
-
Spider-Man (1999) #661"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/39041","name":"Amazing
|
30
|
-
Spider-Man (1999) #661 (X-Men Art Variant)"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/35534","name":"Amazing
|
31
|
-
Spider-Man (1999) #662"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/7336","name":"Avengers
|
32
|
-
(1963) #83"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/7353","name":"Avengers
|
33
|
-
(1963) #99"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/6995","name":"Avengers
|
34
|
-
(1963) #138"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/7004","name":"Avengers
|
35
|
-
(1963) #146"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/7015","name":"Avengers
|
36
|
-
(1963) #156"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/29213","name":"Avengers
|
37
|
-
Academy (2010) #1"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/36770","name":"Avengers
|
38
|
-
Academy (2010) #1 (2ND PRINTING VARIANT)"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/34490","name":"Avengers
|
39
|
-
Academy (2010) #1 (DJURDJEVIC VARIANT)"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/29217","name":"Avengers
|
40
|
-
Academy (2010) #2"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/36482","name":"Avengers
|
41
|
-
Academy (2010) #15"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/36479","name":"Avengers
|
42
|
-
Academy (2010) #18"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/36489","name":"Avengers
|
43
|
-
Academy (2010) #21"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/29324","name":"Avengers
|
44
|
-
Academy Vol 1 : Permanent Record TPB (Trade Paperback)"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/6040","name":"Beyond!
|
45
|
-
(Hardcover)"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/4447","name":"Beyond!
|
46
|
-
(2006) #1"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/30015","name":"Incredible
|
47
|
-
Hulks (2009) #607 (MCGUINNESS VARIANT)"},{"resourceURI":"http://gateway.marvel.com/v1/public/comics/13477","name":"Mighty
|
48
|
-
Avengers (2007) #3"}],"returned":20},"series":{"available":11,"collectionURI":"http://gateway.marvel.com/v1/public/characters/1009521/series","items":[{"resourceURI":"http://gateway.marvel.com/v1/public/series/454","name":"Amazing
|
49
|
-
Spider-Man (1999 - 2013)"},{"resourceURI":"http://gateway.marvel.com/v1/public/series/1991","name":"Avengers
|
50
|
-
(1963 - 1996)"},{"resourceURI":"http://gateway.marvel.com/v1/public/series/9086","name":"Avengers
|
51
|
-
Academy (2010 - 2012)"},{"resourceURI":"http://gateway.marvel.com/v1/public/series/10037","name":"Avengers
|
52
|
-
Academy Vol 1 : Permanent Record TPB (2011)"},{"resourceURI":"http://gateway.marvel.com/v1/public/series/997","name":"Beyond!
|
53
|
-
(2006)"},{"resourceURI":"http://gateway.marvel.com/v1/public/series/1928","name":"Beyond!
|
54
|
-
(2007)"},{"resourceURI":"http://gateway.marvel.com/v1/public/series/8842","name":"Incredible
|
55
|
-
Hulks (2009 - 2011)"},{"resourceURI":"http://gateway.marvel.com/v1/public/series/1866","name":"Mighty
|
56
|
-
Avengers (2007 - 2010)"},{"resourceURI":"http://gateway.marvel.com/v1/public/series/5381","name":"Mighty
|
57
|
-
Avengers Vol. 1: The Ultron Initiative (2008)"},{"resourceURI":"http://gateway.marvel.com/v1/public/series/12877","name":"The
|
58
|
-
Iron Age (2010 - 2011)"},{"resourceURI":"http://gateway.marvel.com/v1/public/series/2715","name":"Women
|
59
|
-
of Marvel Vol. 2 (2007)"}],"returned":11},"stories":{"available":43,"collectionURI":"http://gateway.marvel.com/v1/public/characters/1009521/stories","items":[{"resourceURI":"http://gateway.marvel.com/v1/public/stories/5621","name":"1
|
60
|
-
of 6 - 6XLS","type":"cover"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/8682","name":"3
|
61
|
-
of 6 - Ultron; THE INITIATIVE BANNER","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/14528","name":"Stranger
|
62
|
-
in a Strange Man!","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/14546","name":"The
|
63
|
-
Assassin Never Fails!","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/14568","name":"The
|
64
|
-
Private War of Doctor Doom!","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/15235","name":"Come
|
65
|
-
On In, The Revolution''s Fine","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/15269","name":"They
|
66
|
-
First Make Mad","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/32378","name":"4
|
67
|
-
of 6 - Ultron; THE INITIATIVE BANNER","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/36886","name":"Venom
|
68
|
-
Bomb 2 of 5","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/44681","name":"Venom
|
69
|
-
Bomb 5 of 5","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/47781","name":"Secret
|
70
|
-
Invasion 6 of 8","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/52267","name":"2
|
71
|
-
of 6","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/52726","name":"3
|
72
|
-
of 6","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/53148","name":"1
|
73
|
-
of 1","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/53543","name":"1
|
74
|
-
of 2","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/57228","name":"Interior
|
75
|
-
#57228","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/57230","name":"Interior
|
76
|
-
#57230","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/57232","name":"Interior
|
77
|
-
#57232","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/57234","name":"Interior
|
78
|
-
#57234","type":"interiorStory"},{"resourceURI":"http://gateway.marvel.com/v1/public/stories/57236","name":"Interior
|
79
|
-
#57236","type":"interiorStory"}],"returned":20},"events":{"available":6,"collectionURI":"http://gateway.marvel.com/v1/public/characters/1009521/events","items":[{"resourceURI":"http://gateway.marvel.com/v1/public/events/318","name":"Dark
|
80
|
-
Reign"},{"resourceURI":"http://gateway.marvel.com/v1/public/events/302","name":"Fear
|
81
|
-
Itself"},{"resourceURI":"http://gateway.marvel.com/v1/public/events/255","name":"Initiative"},{"resourceURI":"http://gateway.marvel.com/v1/public/events/269","name":"Secret
|
82
|
-
Invasion"},{"resourceURI":"http://gateway.marvel.com/v1/public/events/309","name":"Shattered
|
83
|
-
Heroes"},{"resourceURI":"http://gateway.marvel.com/v1/public/events/273","name":"Siege"}],"returned":6},"urls":[{"type":"detail","url":"http://marvel.com/comics/characters/1009521/_hank_pym?utm_campaign=apiRef&utm_source=07e4dc912806b1c5d1e51687095bca09"}]}]}}'
|
84
|
-
http_version:
|
85
|
-
recorded_at: Sun, 09 Feb 2014 05:45:28 GMT
|
86
|
-
recorded_with: VCR 2.8.0
|