marvelite 0.0.8 → 0.0.9
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/CHANGELOG.md +11 -0
- data/README.md +11 -4
- data/lib/marvelite/api/config/v1.yml +37 -19
- data/lib/marvelite/version.rb +1 -1
- data/spec/fixtures/creators/creator.json +329 -0
- data/spec/fixtures/creators/creator_2.json +91 -0
- data/spec/fixtures/creators/creator_comics.json +3654 -0
- data/spec/fixtures/creators/creator_events.json +1021 -0
- data/spec/fixtures/creators/creator_series.json +5194 -0
- data/spec/fixtures/creators/creator_stories.json +1803 -0
- data/spec/fixtures/creators/creators.json +1309 -0
- data/spec/marvelite/api/client_creators_endpoints_spec.rb +118 -0
- metadata +26 -10
| @@ -0,0 +1,118 @@ | |
| 1 | 
            +
            require 'spec_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe Marvelite::API::Client do
         | 
| 4 | 
            +
              context "Creators Endpoints" do
         | 
| 5 | 
            +
                let(:client) { marvelite_test_client }
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                describe '#creators' do
         | 
| 8 | 
            +
                  before do
         | 
| 9 | 
            +
                    stub_get('creators?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'creators/creators.json')
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  it 'returns a Marvelite::API::Response object' do
         | 
| 13 | 
            +
                    expect(client.creators).to be_a(Marvelite::API::Response)
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  it 'Response object is populated with JSON from the creators endpoint' do
         | 
| 17 | 
            +
                    expect(client.creators["status"]).to eq("Ok")
         | 
| 18 | 
            +
                    expect(client.creators[:data][:results].size).to eq(20)
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                describe '#creator' do
         | 
| 23 | 
            +
                  before do
         | 
| 24 | 
            +
                    stub_get('creators/593?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'creators/creator.json')
         | 
| 25 | 
            +
                    stub_get('creators/4781?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'creators/creator_2.json')
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                  it 'returns a Marvelite::API::Response object' do
         | 
| 29 | 
            +
                    expect(client.creator(593)).to be_a(Marvelite::API::Response)
         | 
| 30 | 
            +
                  end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                  it 'Response object is populated with JSON from the creator endpoint' do
         | 
| 33 | 
            +
                    expect(client.creator(593)[:data][:results][0][:lastName]).to eq('Loughridge')
         | 
| 34 | 
            +
                  end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                  it 'accepts an Integer as creator id' do
         | 
| 37 | 
            +
                    expect(client.creator(593)[:data][:results][0][:firstName]).to eq('Lee')
         | 
| 38 | 
            +
                    expect(client.creator(4781)[:data][:results][0][:firstName]).to eq('Barta')
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                describe '#creator_comics' do
         | 
| 43 | 
            +
                  before do
         | 
| 44 | 
            +
                    stub_get('creators/593/comics?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'creators/creator_comics.json')
         | 
| 45 | 
            +
                  end
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                  it 'returns a Marvelite::API::Response object' do
         | 
| 48 | 
            +
                    expect(client.creator_comics(593)).to be_a(Marvelite::API::Response)
         | 
| 49 | 
            +
                  end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                  it 'Response object is populated with JSON from the creator_comics endpoint' do
         | 
| 52 | 
            +
                    expect(client.creator_comics(593)["status"]).to eq("Ok")
         | 
| 53 | 
            +
                    expect(client.creator_comics(593)[:data][:results].size).to eq(20)
         | 
| 54 | 
            +
                  end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  it 'accepts an Integer as creator id' do
         | 
| 57 | 
            +
                    expect(client.creator_comics(593)[:data][:results][0][:title]).to eq('Venom (2011) #37')
         | 
| 58 | 
            +
                  end
         | 
| 59 | 
            +
                end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                describe '#creator_events' do
         | 
| 62 | 
            +
                  before do
         | 
| 63 | 
            +
                    stub_get('creators/593/events?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'creators/creator_events.json')
         | 
| 64 | 
            +
                  end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                  it 'returns a Marvelite::API::Response object' do
         | 
| 67 | 
            +
                    expect(client.creator_events(593)).to be_a(Marvelite::API::Response)
         | 
| 68 | 
            +
                  end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                  it 'Response object is populated with JSON from the creator_events endpoint' do
         | 
| 71 | 
            +
                    expect(client.creator_events(593)["status"]).to eq("Ok")
         | 
| 72 | 
            +
                    expect(client.creator_events(593)[:data][:results].size).to eq(2)
         | 
| 73 | 
            +
                  end
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                  it 'accepts an Integer as creator id' do
         | 
| 76 | 
            +
                    expect(client.creator_events(593)[:data][:results][0][:title]).to eq('Dark Reign')
         | 
| 77 | 
            +
                  end
         | 
| 78 | 
            +
                end
         | 
| 79 | 
            +
             | 
| 80 | 
            +
                describe '#creator_series' do
         | 
| 81 | 
            +
                  before do
         | 
| 82 | 
            +
                    stub_get('creators/593/series?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'creators/creator_series.json')
         | 
| 83 | 
            +
                  end
         | 
| 84 | 
            +
             | 
| 85 | 
            +
                  it 'returns a Marvelite::API::Response object' do
         | 
| 86 | 
            +
                    expect(client.creator_series(593)).to be_a(Marvelite::API::Response)
         | 
| 87 | 
            +
                  end
         | 
| 88 | 
            +
             | 
| 89 | 
            +
                  it 'Response object is populated with JSON from the creator_series endpoint' do
         | 
| 90 | 
            +
                    expect(client.creator_series(593)["status"]).to eq("Ok")
         | 
| 91 | 
            +
                    expect(client.creator_series(593)[:data][:results].size).to eq(20)
         | 
| 92 | 
            +
                  end
         | 
| 93 | 
            +
             | 
| 94 | 
            +
                  it 'accepts an Integer as creator id' do
         | 
| 95 | 
            +
                    expect(client.creator_series(593)[:data][:results][0][:title]).to eq('Age of Apocalypse (2011 - Present)')
         | 
| 96 | 
            +
                  end
         | 
| 97 | 
            +
                end
         | 
| 98 | 
            +
             | 
| 99 | 
            +
                describe '#creator_stories' do
         | 
| 100 | 
            +
                  before do
         | 
| 101 | 
            +
                    stub_get('creators/593/stories?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'creators/creator_stories.json')
         | 
| 102 | 
            +
                  end
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                  it 'returns a Marvelite::API::Response object' do
         | 
| 105 | 
            +
                    expect(client.creator_stories(593)).to be_a(Marvelite::API::Response)
         | 
| 106 | 
            +
                  end
         | 
| 107 | 
            +
             | 
| 108 | 
            +
                  it 'Response object is populated with JSON from the creator_stories endpoint' do
         | 
| 109 | 
            +
                    expect(client.creator_stories(593)["status"]).to eq("Ok")
         | 
| 110 | 
            +
                    expect(client.creator_stories(593)[:data][:results].size).to eq(20)
         | 
| 111 | 
            +
                  end
         | 
| 112 | 
            +
             | 
| 113 | 
            +
                  it 'accepts an Integer as creator id' do
         | 
| 114 | 
            +
                    expect(client.creator_stories(593)[:data][:results][0][:title]).to eq('5 of 6 xLS')
         | 
| 115 | 
            +
                  end
         | 
| 116 | 
            +
                end
         | 
| 117 | 
            +
              end
         | 
| 118 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,43 +1,43 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: marvelite
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.9
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Antonio Antillon
         | 
| 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 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: httparty
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 | 
            -
                - -  | 
| 17 | 
            +
                - - ~>
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version:  | 
| 19 | 
            +
                    version: 0.12.0
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 | 
            -
                - -  | 
| 24 | 
            +
                - - ~>
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version:  | 
| 26 | 
            +
                    version: 0.12.0
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: hashie
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 | 
            -
                - -  | 
| 31 | 
            +
                - - ~>
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version:  | 
| 33 | 
            +
                    version: 2.0.5
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 | 
            -
                - -  | 
| 38 | 
            +
                - - ~>
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version:  | 
| 40 | 
            +
                    version: 2.0.5
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: activemodel
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -148,6 +148,13 @@ files: | |
| 148 148 | 
             
            - spec/fixtures/comics/comic_events.json
         | 
| 149 149 | 
             
            - spec/fixtures/comics/comic_stories.json
         | 
| 150 150 | 
             
            - spec/fixtures/comics/comics.json
         | 
| 151 | 
            +
            - spec/fixtures/creators/creator.json
         | 
| 152 | 
            +
            - spec/fixtures/creators/creator_2.json
         | 
| 153 | 
            +
            - spec/fixtures/creators/creator_comics.json
         | 
| 154 | 
            +
            - spec/fixtures/creators/creator_events.json
         | 
| 155 | 
            +
            - spec/fixtures/creators/creator_series.json
         | 
| 156 | 
            +
            - spec/fixtures/creators/creator_stories.json
         | 
| 157 | 
            +
            - spec/fixtures/creators/creators.json
         | 
| 151 158 | 
             
            - spec/fixtures/events/event.json
         | 
| 152 159 | 
             
            - spec/fixtures/events/event_characters.json
         | 
| 153 160 | 
             
            - spec/fixtures/events/event_comics.json
         | 
| @@ -170,6 +177,7 @@ files: | |
| 170 177 | 
             
            - spec/fixtures/stories/story_events.json
         | 
| 171 178 | 
             
            - spec/marvelite/api/client_characters_endpoints_spec.rb
         | 
| 172 179 | 
             
            - spec/marvelite/api/client_comics_endpoints_spec.rb
         | 
| 180 | 
            +
            - spec/marvelite/api/client_creators_endpoints_spec.rb
         | 
| 173 181 | 
             
            - spec/marvelite/api/client_events_endpoints_spec.rb
         | 
| 174 182 | 
             
            - spec/marvelite/api/client_series_endpoints_spec.rb
         | 
| 175 183 | 
             
            - spec/marvelite/api/client_spec.rb
         | 
| @@ -219,6 +227,13 @@ test_files: | |
| 219 227 | 
             
            - spec/fixtures/comics/comic_events.json
         | 
| 220 228 | 
             
            - spec/fixtures/comics/comic_stories.json
         | 
| 221 229 | 
             
            - spec/fixtures/comics/comics.json
         | 
| 230 | 
            +
            - spec/fixtures/creators/creator.json
         | 
| 231 | 
            +
            - spec/fixtures/creators/creator_2.json
         | 
| 232 | 
            +
            - spec/fixtures/creators/creator_comics.json
         | 
| 233 | 
            +
            - spec/fixtures/creators/creator_events.json
         | 
| 234 | 
            +
            - spec/fixtures/creators/creator_series.json
         | 
| 235 | 
            +
            - spec/fixtures/creators/creator_stories.json
         | 
| 236 | 
            +
            - spec/fixtures/creators/creators.json
         | 
| 222 237 | 
             
            - spec/fixtures/events/event.json
         | 
| 223 238 | 
             
            - spec/fixtures/events/event_characters.json
         | 
| 224 239 | 
             
            - spec/fixtures/events/event_comics.json
         | 
| @@ -241,6 +256,7 @@ test_files: | |
| 241 256 | 
             
            - spec/fixtures/stories/story_events.json
         | 
| 242 257 | 
             
            - spec/marvelite/api/client_characters_endpoints_spec.rb
         | 
| 243 258 | 
             
            - spec/marvelite/api/client_comics_endpoints_spec.rb
         | 
| 259 | 
            +
            - spec/marvelite/api/client_creators_endpoints_spec.rb
         | 
| 244 260 | 
             
            - spec/marvelite/api/client_events_endpoints_spec.rb
         | 
| 245 261 | 
             
            - spec/marvelite/api/client_series_endpoints_spec.rb
         | 
| 246 262 | 
             
            - spec/marvelite/api/client_spec.rb
         |