luchadeer 0.2.0 → 0.3.0

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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +29 -33
  5. data/lib/luchadeer.rb +0 -12
  6. data/lib/luchadeer/api.rb +42 -22
  7. data/lib/luchadeer/client.rb +2 -2
  8. data/lib/luchadeer/error.rb +4 -11
  9. data/lib/luchadeer/resource.rb +14 -2
  10. data/lib/luchadeer/resources.rb +135 -0
  11. data/lib/luchadeer/search.rb +1 -9
  12. data/lib/luchadeer/version.rb +1 -1
  13. data/spec/luchadeer/resources_spec.rb +6 -0
  14. data/spec/luchadeer_spec.rb +3 -6
  15. data/spec/spec_helper.rb +3 -0
  16. data/spec/support/shared_resource.rb +40 -0
  17. data/spec/support/shared_searchable.rb +65 -0
  18. metadata +11 -57
  19. data/lib/luchadeer/api/characters.rb +0 -11
  20. data/lib/luchadeer/api/companies.rb +0 -11
  21. data/lib/luchadeer/api/concepts.rb +0 -11
  22. data/lib/luchadeer/api/franchises.rb +0 -11
  23. data/lib/luchadeer/api/games.rb +0 -11
  24. data/lib/luchadeer/api/locations.rb +0 -11
  25. data/lib/luchadeer/api/objects.rb +0 -11
  26. data/lib/luchadeer/api/people.rb +0 -11
  27. data/lib/luchadeer/api/videos.rb +0 -11
  28. data/lib/luchadeer/character.rb +0 -13
  29. data/lib/luchadeer/company.rb +0 -13
  30. data/lib/luchadeer/concept.rb +0 -13
  31. data/lib/luchadeer/franchise.rb +0 -13
  32. data/lib/luchadeer/game.rb +0 -13
  33. data/lib/luchadeer/location.rb +0 -13
  34. data/lib/luchadeer/object.rb +0 -13
  35. data/lib/luchadeer/person.rb +0 -13
  36. data/lib/luchadeer/video.rb +0 -13
  37. data/spec/luchadeer/api/characters_spec.rb +0 -28
  38. data/spec/luchadeer/api/companies_spec.rb +0 -28
  39. data/spec/luchadeer/api/concepts_spec.rb +0 -28
  40. data/spec/luchadeer/api/franchises_spec.rb +0 -28
  41. data/spec/luchadeer/api/games_spec.rb +0 -28
  42. data/spec/luchadeer/api/locations_spec.rb +0 -28
  43. data/spec/luchadeer/api/objects_spec.rb +0 -28
  44. data/spec/luchadeer/api/people_spec.rb +0 -28
  45. data/spec/luchadeer/api/videos_spec.rb +0 -28
  46. data/spec/luchadeer/character_spec.rb +0 -27
  47. data/spec/luchadeer/company_spec.rb +0 -27
  48. data/spec/luchadeer/concept_spec.rb +0 -27
  49. data/spec/luchadeer/franchise_spec.rb +0 -27
  50. data/spec/luchadeer/game_spec.rb +0 -27
  51. data/spec/luchadeer/location_spec.rb +0 -27
  52. data/spec/luchadeer/object_spec.rb +0 -27
  53. data/spec/luchadeer/person_spec.rb +0 -27
  54. data/spec/luchadeer/video_spec.rb +0 -27
@@ -1,13 +0,0 @@
1
- require 'luchadeer/resource'
2
-
3
- module Luchadeer
4
- class Location < Resource
5
-
6
- class << self
7
- def find(id, refresh = false)
8
- Luchadeer.client.location(id, refresh)
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require 'luchadeer/resource'
2
-
3
- module Luchadeer
4
- class Object < Resource
5
-
6
- class << self
7
- def find(id, refresh = false)
8
- Luchadeer.client.object(id, refresh)
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require 'luchadeer/resource'
2
-
3
- module Luchadeer
4
- class Person < Resource
5
-
6
- class << self
7
- def find(id, refresh = false)
8
- Luchadeer.client.person(id, refresh)
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require 'luchadeer/resource'
2
-
3
- module Luchadeer
4
- class Video < Resource
5
-
6
- class << self
7
- def find(id, refresh = false)
8
- Luchadeer.client.video(id, refresh)
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::API::Characters do
4
- let(:client) { Luchadeer::Client.new }
5
-
6
- describe '#characters' do
7
- let(:character_id) { 1 }
8
- let(:character_path) { %r(#{Luchadeer::Client::GIANT_BOMB}/character/3005-#{character_id}) }
9
-
10
- it 'requests the right url' do
11
- stub = stub_request(:get, character_path).to_return(body: '{ }')
12
- client.character("#{character_id}")
13
- expect(stub).to have_been_requested
14
- end
15
-
16
- it 'returns a Luchadeer::Character' do
17
- stub_request(:get, character_path).to_return(body: '{ "results": { "key": "value"}}')
18
- expect(client.character("#{character_id}")).to be_instance_of Luchadeer::Character
19
- end
20
-
21
- it 'caches responses' do
22
- stub_request(:get, character_path).to_return(body: '{ }')
23
- expect(client).to receive :cache
24
- client.character("#{character_id}")
25
- end
26
-
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::API::Characters do
4
- let(:client) { Luchadeer::Client.new }
5
-
6
- describe '#companies' do
7
- let(:company_id) { 1 }
8
- let(:company_path) { %r(#{Luchadeer::Client::GIANT_BOMB}/company/3010-#{company_id}) }
9
-
10
- it 'requests the right url' do
11
- stub = stub_request(:get, company_path).to_return(body: '{ }')
12
- client.company("#{company_id}")
13
- expect(stub).to have_been_requested
14
- end
15
-
16
- it 'returns a Luchadeer::Company' do
17
- stub_request(:get, company_path).to_return(body: '{ "results": { "key": "value"}}')
18
- expect(client.company("#{company_id}")).to be_instance_of Luchadeer::Company
19
- end
20
-
21
- it 'caches responses' do
22
- stub_request(:get, company_path).to_return(body: '{ }')
23
- expect(client).to receive :cache
24
- client.company("#{company_id}")
25
- end
26
-
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::API::Concepts do
4
- let(:client) { Luchadeer::Client.new }
5
-
6
- describe '#concepts' do
7
- let(:concept_id) { 1 }
8
- let(:concept_path) { %r(#{Luchadeer::Client::GIANT_BOMB}/concept/3015-#{concept_id}) }
9
-
10
- it 'requests the right url' do
11
- stub = stub_request(:get, concept_path).to_return(body: '{ }')
12
- client.concept("#{concept_id}")
13
- expect(stub).to have_been_requested
14
- end
15
-
16
- it 'returns a Luchadeer::Concept' do
17
- stub_request(:get, concept_path).to_return(body: '{ "results": { "key": "value"}}')
18
- expect(client.concept("#{concept_id}")).to be_instance_of Luchadeer::Concept
19
- end
20
-
21
- it 'caches responses' do
22
- stub_request(:get, concept_path).to_return(body: '{ }')
23
- expect(client).to receive :cache
24
- client.concept("#{concept_id}")
25
- end
26
-
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::API::Franchises do
4
- let(:client) { Luchadeer::Client.new }
5
-
6
- describe '#games' do
7
- let(:franchise_id) { 1 }
8
- let(:franchise_path) { %r(#{Luchadeer::Client::GIANT_BOMB}/franchise/3025-#{franchise_id}) }
9
-
10
- it 'requests the right url' do
11
- stub = stub_request(:get, franchise_path).to_return(body: '{ }')
12
- client.franchise("#{franchise_id}")
13
- expect(stub).to have_been_requested
14
- end
15
-
16
- it 'returns a Luchadeer::Franchise' do
17
- stub_request(:get, franchise_path).to_return(body: '{ "results": { "key": "value"}}')
18
- expect(client.franchise("#{franchise_id}")).to be_instance_of Luchadeer::Franchise
19
- end
20
-
21
- it 'caches responses' do
22
- stub_request(:get, franchise_path).to_return(body: '{ }')
23
- expect(client).to receive :cache
24
- client.franchise("#{franchise_id}")
25
- end
26
-
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::API::Games do
4
- let(:client) { Luchadeer::Client.new }
5
-
6
- describe '#games' do
7
- let(:game_id) { 1 }
8
- let(:game_path) { %r(#{Luchadeer::Client::GIANT_BOMB}/game/3030-#{game_id}) }
9
-
10
- it 'requests the right url' do
11
- stub = stub_request(:get, game_path).to_return(body: '{ }')
12
- client.game("#{game_id}")
13
- expect(stub).to have_been_requested
14
- end
15
-
16
- it 'returns a Luchadeer::Game' do
17
- stub_request(:get, game_path).to_return(body: '{ "results": { "key": "value"}}')
18
- expect(client.game("#{game_id}")).to be_instance_of Luchadeer::Game
19
- end
20
-
21
- it 'caches responses' do
22
- stub_request(:get, game_path).to_return(body: '{ }')
23
- expect(client).to receive :cache
24
- client.game("#{game_id}")
25
- end
26
-
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::API::Locations do
4
- let(:client) { Luchadeer::Client.new }
5
-
6
- describe '#Locations' do
7
- let(:location_id) { 1 }
8
- let(:location_path) { %r(#{Luchadeer::Client::GIANT_BOMB}/location/3035-#{location_id}) }
9
-
10
- it 'requests the right url' do
11
- stub = stub_request(:get, location_path).to_return(body: '{ }')
12
- client.location("#{location_id}")
13
- expect(stub).to have_been_requested
14
- end
15
-
16
- it 'returns a Luchadeer::Location' do
17
- stub_request(:get, location_path).to_return(body: '{ "results": { "key": "value"}}')
18
- expect(client.location("#{location_id}")).to be_instance_of Luchadeer::Location
19
- end
20
-
21
- it 'caches responses' do
22
- stub_request(:get, location_path).to_return(body: '{ }')
23
- expect(client).to receive :cache
24
- client.location("#{location_id}")
25
- end
26
-
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::API::Objects do
4
- let(:client) { Luchadeer::Client.new }
5
-
6
- describe '#games' do
7
- let(:object_id) { 1 }
8
- let(:object_path) { %r(#{Luchadeer::Client::GIANT_BOMB}/object/3055-#{object_id}) }
9
-
10
- it 'requests the right url' do
11
- stub = stub_request(:get, object_path).to_return(body: '{ }')
12
- client.object("#{object_id}")
13
- expect(stub).to have_been_requested
14
- end
15
-
16
- it 'returns a Luchadeer::Object' do
17
- stub_request(:get, object_path).to_return(body: '{ "results": { "key": "value"}}')
18
- expect(client.object("#{object_id}")).to be_instance_of Luchadeer::Object
19
- end
20
-
21
- it 'caches responses' do
22
- stub_request(:get, object_path).to_return(body: '{ }')
23
- expect(client).to receive :cache
24
- client.object("#{object_id}")
25
- end
26
-
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::API::People do
4
- let(:client) { Luchadeer::Client.new }
5
-
6
- describe '#games' do
7
- let(:person_id) { 1 }
8
- let(:person_path) { %r(#{Luchadeer::Client::GIANT_BOMB}/person/3040-#{person_id}) }
9
-
10
- it 'requests the right url' do
11
- stub = stub_request(:get, person_path).to_return(body: '{ }')
12
- client.person("#{person_id}")
13
- expect(stub).to have_been_requested
14
- end
15
-
16
- it 'returns a Luchadeer::Object' do
17
- stub_request(:get, person_path).to_return(body: '{ "results": { "key": "value"}}')
18
- expect(client.person("#{person_id}")).to be_instance_of Luchadeer::Person
19
- end
20
-
21
- it 'caches responses' do
22
- stub_request(:get, person_path).to_return(body: '{ }')
23
- expect(client).to receive :cache
24
- client.person("#{person_id}")
25
- end
26
-
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::API::Videos do
4
- let(:client) { Luchadeer::Client.new }
5
-
6
- describe '#games' do
7
- let(:video_id) { 1 }
8
- let(:video_path) { %r(#{Luchadeer::Client::GIANT_BOMB}/video/2300-#{video_id}) }
9
-
10
- it 'requests the right url' do
11
- stub = stub_request(:get, video_path).to_return(body: '{ }')
12
- client.video("#{video_id}")
13
- expect(stub).to have_been_requested
14
- end
15
-
16
- it 'returns a Luchadeer::Object' do
17
- stub_request(:get, video_path).to_return(body: '{ "results": { "key": "value"}}')
18
- expect(client.video("#{video_id}")).to be_instance_of Luchadeer::Video
19
- end
20
-
21
- it 'caches responses' do
22
- stub_request(:get, video_path).to_return(body: '{ }')
23
- expect(client).to receive :cache
24
- client.video("#{video_id}")
25
- end
26
-
27
- end
28
- end
@@ -1,27 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::Character do
4
-
5
- it 'is a resource' do
6
- expect(described_class.new).to be_a Luchadeer::Resource
7
- end
8
-
9
- describe '.find' do
10
- let(:client) { Luchadeer::Client.new }
11
-
12
- before :each do
13
- Luchadeer.client = client
14
- end
15
-
16
- it 'forwards to Client#character with arguments' do
17
- expect(client).to receive(:character).with(1, true)
18
- described_class.find(1, true)
19
- end
20
-
21
- it 'forwards to Client#character with default refresh' do
22
- expect(client).to receive(:character).with(1, false)
23
- described_class.find(1)
24
- end
25
- end
26
-
27
- end
@@ -1,27 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::Company do
4
-
5
- it 'is a resource' do
6
- expect(described_class.new).to be_a Luchadeer::Resource
7
- end
8
-
9
- describe '.find' do
10
- let(:client) { Luchadeer::Client.new }
11
-
12
- before :each do
13
- Luchadeer.client = client
14
- end
15
-
16
- it 'forwards to Client#company with arguments' do
17
- expect(client).to receive(:company).with(1, true)
18
- described_class.find(1, true)
19
- end
20
-
21
- it 'forwards to Client#company with default refresh' do
22
- expect(client).to receive(:company).with(1, false)
23
- described_class.find(1)
24
- end
25
- end
26
-
27
- end
@@ -1,27 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::Concept do
4
-
5
- it 'is a resource' do
6
- expect(described_class.new).to be_a Luchadeer::Resource
7
- end
8
-
9
- describe '.find' do
10
- let(:client) { Luchadeer::Client.new }
11
-
12
- before :each do
13
- Luchadeer.client = client
14
- end
15
-
16
- it 'forwards to Client#concept with arguments' do
17
- expect(client).to receive(:concept).with(1, true)
18
- described_class.find(1, true)
19
- end
20
-
21
- it 'forwards to Client#concept with default refresh' do
22
- expect(client).to receive(:concept).with(1, false)
23
- described_class.find(1)
24
- end
25
- end
26
-
27
- end
@@ -1,27 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::Franchise do
4
-
5
- it 'is a resource' do
6
- expect(described_class.new).to be_a Luchadeer::Resource
7
- end
8
-
9
- describe '.find' do
10
- let(:client) { Luchadeer::Client.new }
11
-
12
- before :each do
13
- Luchadeer.client = client
14
- end
15
-
16
- it 'forwards to Client#franchise with arguments' do
17
- expect(client).to receive(:franchise).with(1, true)
18
- described_class.find(1, true)
19
- end
20
-
21
- it 'forwards to Client#franchise with default refresh' do
22
- expect(client).to receive(:franchise).with(1, false)
23
- described_class.find(1)
24
- end
25
- end
26
-
27
- end
@@ -1,27 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Luchadeer::Game do
4
-
5
- it 'is a resource' do
6
- expect(described_class.new).to be_a Luchadeer::Resource
7
- end
8
-
9
- describe '.find' do
10
- let(:client) { Luchadeer::Client.new }
11
-
12
- before :each do
13
- Luchadeer.client = client
14
- end
15
-
16
- it 'forwards to Client#game with arguments' do
17
- expect(client).to receive(:game).with(1, true)
18
- described_class.find(1, true)
19
- end
20
-
21
- it 'forwards to Client#game with default refresh' do
22
- expect(client).to receive(:game).with(1, false)
23
- described_class.find(1)
24
- end
25
- end
26
-
27
- end