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.
@@ -1,11 +1,11 @@
1
1
  require_relative "../spec_helper"
2
2
 
3
3
  describe "a character entity" do
4
- before { VCR.insert_cassette 'character', record: :new_episodes }
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: "07e4dc912806b1c5d1e51687095bca09", private_key: 'a97d276fe66678f07ec9150e3012d41160937b85')}
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
@@ -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: "07e4dc912806b1c5d1e51687095bca09", private_key: 'a97d276fe66678f07ec9150e3012d41160937b85')}
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
 
@@ -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: "07e4dc912806b1c5d1e51687095bca09", private_key: 'a97d276fe66678f07ec9150e3012d41160937b85')}
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
@@ -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: "07e4dc912806b1c5d1e51687095bca09", private_key: 'a97d276fe66678f07ec9150e3012d41160937b85')}
4
+ let(:client) { Marvell::Client.new(public_key: ENV["PUBLIC_KEY"], private_key: ENV["PRIVATE_KEY"])}
5
5
 
6
- before { VCR.insert_cassette 'character', record: :new_episodes }
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.0
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-09 00:00:00.000000000 Z
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