luchadeer 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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