giantbomb-api 1.5.7 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -9
  3. data/{LICENSE.txt → LICENSE} +0 -0
  4. data/README.md +65 -35
  5. data/giantbomb.gemspec +4 -2
  6. data/lib/giantbomb-api.rb +32 -0
  7. data/lib/giantbomb/resources/accessory.rb +24 -0
  8. data/lib/giantbomb/{character.rb → resources/character.rb} +0 -1
  9. data/lib/giantbomb/resources/chat.rb +22 -0
  10. data/lib/giantbomb/{company.rb → resources/company.rb} +0 -1
  11. data/lib/giantbomb/{concept.rb → resources/concept.rb} +0 -2
  12. data/lib/giantbomb/{franchise.rb → resources/franchise.rb} +0 -1
  13. data/lib/giantbomb/{game.rb → resources/game.rb} +0 -1
  14. data/lib/giantbomb/resources/game_rating.rb +20 -0
  15. data/lib/giantbomb/resources/genre.rb +24 -0
  16. data/lib/giantbomb/{location.rb → resources/location.rb} +0 -0
  17. data/lib/giantbomb/{object.rb → resources/object.rb} +1 -3
  18. data/lib/giantbomb/{person.rb → resources/person.rb} +0 -3
  19. data/lib/giantbomb/{platform.rb → resources/platform.rb} +1 -1
  20. data/lib/giantbomb/resources/promo.rb +24 -0
  21. data/lib/giantbomb/resources/rating_board.rb +25 -0
  22. data/lib/giantbomb/resources/region.rb +25 -0
  23. data/lib/giantbomb/resources/release.rb +45 -0
  24. data/lib/giantbomb/resources/review.rb +25 -0
  25. data/lib/giantbomb/resources/theme.rb +19 -0
  26. data/lib/giantbomb/resources/type.rb +17 -0
  27. data/lib/giantbomb/{user_review.rb → resources/user_review.rb} +1 -1
  28. data/lib/giantbomb/resources/video.rb +34 -0
  29. data/lib/giantbomb/resources/video_type.rb +20 -0
  30. data/lib/giantbomb/version.rb +6 -5
  31. metadata +31 -20
  32. data/.travis.yml +0 -5
  33. data/lib/giantbomb.rb +0 -25
  34. data/lib/giantbomb/review.rb +0 -27
  35. data/lib/giantbomb/video.rb +0 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 032b2d2f6dabd3c02d3816ffba774a88d3d3a7e2
4
- data.tar.gz: 6beefb52f5e58d0aff73c087c147f1b394f35ccf
3
+ metadata.gz: 52610eeca9dabedc466c42a9a85310fc835e9c9b
4
+ data.tar.gz: f87e15571a661370c283f3cddc68b7cf5c60e098
5
5
  SHA512:
6
- metadata.gz: c2fd4be30245fac477442acda251ca472f60501e8d0e6d4f27167b187e5124b8319d6c8e7f20ffaaa3ad082d196278d9a12d3e76423e1b3f79ba8fbb3e539057
7
- data.tar.gz: a6d899ca0572a4ed456a978c13a3e8843a5373cb1e1dee7b6a6073098950a7288a7517491e9494b69fe43199f41ca94d3d4eca1eafba298dcbf6e38a6a88a573
6
+ metadata.gz: 8af3c9651ff661448fbc62b46e8b07e8e32997247b56255fe6bec307c70d724899a7dd8f794a7a47a9db87a57dc8710e623c2cb5be7ee744f70591a20549167b
7
+ data.tar.gz: 1bbd57d7154530ddf6fe064d1642caa5bb9c24947a901881fcf76d38a0c03ca89d89e41d9f504da1658bfe812d20e2cefe87cfecae2d221da2be70caadba083a
data/.gitignore CHANGED
@@ -1,9 +1,5 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
1
+ # Ignore Gemfile.lock
2
+ *.lock
3
+
4
+ # Ignore generated .gem files
5
+ *.gem
File without changes
data/README.md CHANGED
@@ -1,14 +1,17 @@
1
+ [![Gem Version](https://badge.fury.io/rb/giantbomb-api.svg)](https://badge.fury.io/rb/giantbomb-api)
2
+ [![Code Climate](https://codeclimate.com/github/pacMakaveli/giantbomb/badges/gpa.svg)](https://codeclimate.com/github/pacMakaveli/giantbomb)
3
+ [![Test Coverage](https://codeclimate.com/github/pacMakaveli/giantbomb/badges/coverage.svg)](https://codeclimate.com/github/pacMakaveli/giantbomb/coverage)
4
+
1
5
  ## A Ruby wrapper for the GiantBomb API
2
6
 
3
- All credits goes to [intelekshual](https://github.com/intelekshual) for creating
4
- mostly everything :)
7
+ Project initially started by [intelekshual](https://github.com/intelekshual/giantbomb).
5
8
 
6
9
  ## Installation
7
10
 
8
11
  Add this line to your application's Gemfile:
9
12
 
10
13
  ```ruby
11
- gem 'giantbomb'
14
+ gem 'giantbomb-api', '~> 1.6.0'
12
15
  ```
13
16
 
14
17
  And then execute:
@@ -17,7 +20,7 @@ And then execute:
17
20
 
18
21
  Or install it yourself as:
19
22
 
20
- $ gem install giantbomb
23
+ $ gem install giantbomb-api
21
24
 
22
25
  In your Rails application, add your API key to:
23
26
  `config/initializers/giantbomb.rb`
@@ -28,47 +31,76 @@ GiantBomb::Api.key('API_KEY_HERE')
28
31
 
29
32
  ### Resources
30
33
 
31
- Current available resources:
32
- * Character
33
- * Company
34
- * Concept
35
- * Franchise
36
- * Game
37
- * Location
38
- * Person
39
- * Platform
40
- * Video
41
-
42
- All resources have access to `Resource#list` `Resource#detail` and `Resource#search`
34
+ The gem comprises of all GiantBomb public resources:
35
+ * Accessory `GiantBomb::Accessory`
36
+ * Character `GiantBomb::Character`
37
+ * Chat `GiantBomb::Chat`
38
+ * Company `GiantBomb::Company`
39
+ * Concept `GiantBomb::Concept`
40
+ * Franchise `GiantBomb::Franchise`
41
+ * Game `GiantBomb::Game`
42
+ * Game Rating `GiantBomb::GameRating`
43
+ * Genre `GiantBomb::Genre`
44
+ * Location `GiantBomb::Location`
45
+ * Object `GiantBomb::Object`
46
+ * Person `GiantBomb::Person`
47
+ * Platform `GiantBomb::Platform`
48
+ * Promo `GiantBomb::Promo`
49
+ * Rating Board `GiantBomb::RatingBoard`
50
+ * Region `GiantBomb::Region`
51
+ * Release `GiantBomb::Release`
52
+ * Review `GiantBomb::Review`
53
+ * Theme `GiantBomb::Theme`
54
+ * Type `GiantBomb::Type`
55
+ * User Review `GiantBomb::UserReview`
56
+ * Video `GiantBomb::Video`
57
+ * Video Type `GiantBomb::VideoType`
58
+
59
+ All resources have inherit `#list` `#detail` and `#search`
43
60
 
44
61
  ### Usage
45
62
 
46
- ###### Finding a Game
63
+ ###### Finding a Resource
47
64
 
48
65
  ``` ruby
49
- game = GiantBomb::Game.detail(1)
50
-
51
- games = GiantBomb::Game.find('gta')
52
- games = GiantBomb::Game.list
66
+ game = GiantBomb::Game.detail(49598)
67
+ game.id => 49598
68
+ game.name => "Need for Speed"
69
+ game.deck => "Need for Speed attempts to reboot the franchise with a focus on nighttime street races, multiplayer action, police chases, and new ways for players to configure and tune their cars."
70
+ game.franchises => [{"api_detail_url"=>"http://www.giantbomb.com/api/franchise/3025-483/", "id"=>483, "name"=>"Need for Speed", "site_detail_url"=>"http://www.giantbomb.com/need-for-speed/3025-483/"}]
71
+ ...
53
72
  ```
54
-
55
- ###### Searching for Games
73
+ ###### Searching a Resource
56
74
 
57
75
  ``` ruby
58
76
  search = GiantBomb::Search.new
59
- search.query('gta')
60
- search.fetch
77
+
78
+ search.offset(3)
79
+ search.limit(50) # max 100
80
+ search.resources('game')
81
+ search.query('Need for Speed')
82
+
83
+ search.fetch # excute query
61
84
  ```
85
+ or
86
+ ``` ruby
87
+ GiantBomb::Search.new().query('Need for Speed').resources('game').offset(3).fetch
88
+ ```
89
+
90
+ ###### Searching multiple Resources
62
91
 
63
92
  ``` ruby
64
- # Available filter methods
93
+ GiantBomb::Search.new().query('Need for Speed').resources('game, franchise').offset(3).fetch
94
+ ```
65
95
 
66
- .limit(10) # limits the number of returned resources
67
- .resources('game') # determines the type of resource
68
- .fields('name,deck') # returns only the requested resources
69
- .offset(100) # sets the offset
96
+ ###### Available filter methods
70
97
 
71
- # All filters are chainable!
98
+ ``` ruby
99
+ .limit(10) # limits the number of returned resources, max 100
100
+ .resources('game') # determines the type of resource, accepts multiple resources (eg: 'game, franchise, video')
101
+ .fields('name, deck') # returns only the requested resources
102
+ .offset(100) # sets the offset
103
+ .query('Need for Speed') # the query to search for
72
104
  ```
73
105
 
74
106
  ### Development
@@ -79,14 +111,12 @@ prompt that will allow you to experiment.
79
111
 
80
112
  ###### TODO
81
113
 
82
- * Add all resources available from: http://www.giantbomb.com/api/documentation
83
- * Create a proper documentation showcasing all available resources and how to use them
84
114
  * Tests
85
115
 
86
116
  ### Examples
87
117
 
88
- For more examples see [mygames.io](https://github.com/pacMakaveli/mygames.io)
89
- for a live application
118
+ For more examples see [mygames.io](https://github.com/pacMakaveli/mygames.io),
119
+ [games.directory repo](https://github.com/studio51/games.directory) and [games.directory](games.directory) for a live application
90
120
 
91
121
  ## License
92
122
 
@@ -11,8 +11,10 @@ Gem::Specification.new do |g|
11
11
  g.email = ["rob@robertsays.com", "pacMakaveli90@gmail.com"]
12
12
 
13
13
  g.homepage = "http://rubygems.org/gems/giantbomb-api"
14
- g.summary = %q{A Ruby wrapper for the GiantBomb video game wiki API.}
15
- g.description = %q{Provides a simple, easy to use interface for the Giant Bomb video game wiki API.}
14
+ g.summary = %q{A Ruby wrapper for the GiantBomb API.}
15
+ g.description = %q{Provides a complete and simple Ruby interface to communicate with the GiantBomb' API}
16
+
17
+ g.license = "MIT"
16
18
 
17
19
  g.add_dependency("httparty")
18
20
 
@@ -0,0 +1,32 @@
1
+ require 'rubygems'
2
+ require 'httparty'
3
+
4
+ require 'giantbomb/version'
5
+
6
+ module GiantBomb
7
+
8
+ # Core
9
+ #
10
+ ['api', 'search', 'resource'].each do |inc|
11
+ require File.join(File.dirname(__FILE__), 'giantbomb', inc)
12
+ end
13
+
14
+ # Resources
15
+
16
+ a = ['accessory']
17
+ c = ['character', 'chat', 'company', 'concept']
18
+ f = ['franchise']
19
+ g = ['game', 'game_rating', 'genre']
20
+ l = ['location']
21
+ o = ['object']
22
+ p = ['person', 'platform', 'promo']
23
+ r = ['rating_board', 'region', 'release', 'review']
24
+ t = ['theme', 'type']
25
+ u = ['user_review']
26
+ v = ['video', 'video_type']
27
+
28
+ resources = [a, c, f, g, l, o, p, r, t, u, v].flatten
29
+ resources.each do |inc|
30
+ require File.join(File.dirname(__FILE__), 'giantbomb/resources', inc)
31
+ end
32
+ end
@@ -0,0 +1,24 @@
1
+ module GiantBomb
2
+ class Accessory < Resource
3
+ has_resource 'accessory', plural: 'accessories', id: '3000'
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-2
6
+ # http://www.giantbomb.com/api/documentation#toc-0-3
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the accessory detail resource
10
+ :date_added, # Date the accessory was added to Giant Bomb
11
+ :date_last_updated, # Date the accessory was last updated on Giant Bomb
12
+ :deck, # Brief summary of the accessory
13
+ :description, # Description of the accessory
14
+ :id, # Unique ID of the accessory
15
+ :image, # Main image of the accessory
16
+ :name, # Name of the accessory
17
+ :site_detail_url # URL pointing to the accessory on Giant Bomb
18
+ ]
19
+
20
+ @@fields.each do |field|
21
+ attr_accessor field
22
+ end
23
+ end
24
+ end
@@ -28,7 +28,6 @@ module GiantBomb
28
28
  :name, # Name of the character
29
29
  :objects, # Objects related to the character
30
30
  :people, # People who have worked with the character
31
- :platforms, # Platforms having a game the character has appeared in
32
31
  :real_name, # Real name of the character
33
32
  :site_detail_url # URL pointing to the character on Giant Bomb
34
33
  ]
@@ -0,0 +1,22 @@
1
+ module GiantBomb
2
+ class Chat < Resource
3
+ has_resource 'chat', plural: 'chats', id: nil
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-6
6
+ # http://www.giantbomb.com/api/documentation#toc-0-7
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the chat detail resource
10
+ :channel_name, # Name of the video streaming channel associated with the chat
11
+ :deck, # Brief summary of the chat
12
+ :image, # Main image of the chat
13
+ :password, # Chat password
14
+ :site_detail_url, # URL pointing to the chat on Giant Bomb
15
+ :title # Title of the chat
16
+ ]
17
+
18
+ @@fields.each do |field|
19
+ attr_accessor field
20
+ end
21
+ end
22
+ end
@@ -39,6 +39,5 @@ module GiantBomb
39
39
  @@fields.each do |field|
40
40
  attr_accessor field
41
41
  end
42
-
43
42
  end
44
43
  end
@@ -25,7 +25,6 @@ module GiantBomb
25
25
  :name, # Name of the concept
26
26
  :objects, # Objects related to the concept
27
27
  :people, # People related to the concept
28
- :platforms, # Platforms related to the concept
29
28
  :related_concepts, # Other concepts related to the concept
30
29
  :site_detail_url # URL pointing to the concept on Giant Bomb
31
30
  ]
@@ -33,6 +32,5 @@ module GiantBomb
33
32
  @@fields.each do |field|
34
33
  attr_accessor field
35
34
  end
36
-
37
35
  end
38
36
  end
@@ -27,6 +27,5 @@ module GiantBomb
27
27
  @@fields.each do |field|
28
28
  attr_accessor field
29
29
  end
30
-
31
30
  end
32
31
  end
@@ -50,6 +50,5 @@ module GiantBomb
50
50
  @@fields.each do |field|
51
51
  attr_accessor field
52
52
  end
53
-
54
53
  end
55
54
  end
@@ -0,0 +1,20 @@
1
+ module GiantBomb
2
+ class GameRating < Resource
3
+ has_resource 'game_rating', plural: 'game_ratings', id: nil
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-16
6
+ # http://www.giantbomb.com/api/documentation#toc-0-17
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the game_rating detail resource
10
+ :id, # Unique ID of the game_rating
11
+ :image, # Main image of the game_rating
12
+ :name, # Name of the game_rating
13
+ :rating_board # Rating board that issues this game_rating
14
+ ]
15
+
16
+ @@fields.each do |field|
17
+ attr_accessor field
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,24 @@
1
+ module GiantBomb
2
+ class Genre < Resource
3
+ has_resource 'genre', plural: 'genres', id: nil
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-18
6
+ # http://www.giantbomb.com/api/documentation#toc-0-19
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the genre detail resource
10
+ :date_added, # Date the genre was added to Giant Bomb
11
+ :date_last_updated, # Date the genre was last updated on Giant Bomb
12
+ :deck, # Brief summary of the genre
13
+ :description, # Description of the genre
14
+ :id, # Unique ID of the genre
15
+ :image, # Main image of the genre
16
+ :site_detail_url, # Name of the genre
17
+ :name # URL pointing to the genre on Giant Bomb
18
+ ]
19
+
20
+ @@fields.each do |field|
21
+ attr_accessor field
22
+ end
23
+ end
24
+ end
@@ -1,5 +1,5 @@
1
1
  module GiantBomb
2
- class GameObject < Resource
2
+ class Object < Resource
3
3
  has_resource 'object', plural: 'objects', id: '3055'
4
4
 
5
5
  # http://www.giantbomb.com/api/documentation#toc-0-22
@@ -24,13 +24,11 @@ module GiantBomb
24
24
  :name, # Name of the object
25
25
  :objects, # Other objects related to the object
26
26
  :people, # People related to the object
27
- :platforms, # Platforms related to the object
28
27
  :site_detail_url # URL pointing to the object on Giant Bomb
29
28
  ]
30
29
 
31
30
  @@fields.each do |field|
32
31
  attr_accessor field
33
32
  end
34
-
35
33
  end
36
34
  end
@@ -10,7 +10,6 @@ module GiantBomb
10
10
  :api_detail_url, # URL pointing to the person detail resource
11
11
  :birth_date, # Date the person was born
12
12
  :characters, # Characters related to the person
13
- :companies, # Companies the person has worked with
14
13
  :concepts, # Concepts related to the person
15
14
  :country, # Country the person resides in
16
15
  :date_added, # Date the person was added to Giant Bomb
@@ -29,13 +28,11 @@ module GiantBomb
29
28
  :name, # Name of the person
30
29
  :objects, # Objects related to the person
31
30
  :people, # Other people related to the person
32
- :platforms, # Platforms related to the person
33
31
  :site_detail_url # URL pointing to the person on Giant Bomb
34
32
  ]
35
33
 
36
34
  @@fields.each do |field|
37
35
  attr_accessor field
38
36
  end
39
-
40
37
  end
41
38
  end
@@ -20,7 +20,7 @@ module GiantBomb
20
20
  :online_support, # Flag indicating whether the platform has online capabilities.
21
21
  :original_price, # Initial price point of the platform.
22
22
  :release_date, # Date of the platform
23
- :site_detail_url, # URL pointing to the platform on Giant Bomb.
23
+ :site_detail_url # URL pointing to the platform on Giant Bomb.
24
24
  ]
25
25
 
26
26
  @@fields.each do |field|
@@ -0,0 +1,24 @@
1
+ module GiantBomb
2
+ class Promo < Resource
3
+ has_resource 'promo', plural: 'promos', id: nil
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-28
6
+ # http://www.giantbomb.com/api/documentation#toc-0-29
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the promo detail resource
10
+ :date_added, # Date the promo was added to Giant Bomb
11
+ :deck, # Brief summary of the promo
12
+ :id, # Unique ID of the promo
13
+ :image, # Main image of the promo
14
+ :link, # The link that promo points to
15
+ :name, # Name of the promo
16
+ :resource_type, # The type of resource the promo is pointing towards
17
+ :user # Author of the promo
18
+ ]
19
+
20
+ @@fields.each do |field|
21
+ attr_accessor field
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,25 @@
1
+ module GiantBomb
2
+ class RatingBoard < Resource
3
+ has_resource 'rating_board', plural: 'rating_boards', id: nil
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-30
6
+ # http://www.giantbomb.com/api/documentation#toc-0-31
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the rating_board detail resource
10
+ :date_added, # Date the rating_board was added to Giant Bomb
11
+ :date_last_updated, # Date the rating_board was last updated on Giant Bomb
12
+ :deck, # Brief summary of the rating_board
13
+ :description, # Description of the rating_board
14
+ :id, # Unique ID of the rating_board
15
+ :image, # Main image of the rating_board
16
+ :name, # Name of the rating_board
17
+ :region, # Region the rating_board is responsible for
18
+ :site_detail_url # URL pointing to the rating_board on Giant Bomb
19
+ ]
20
+
21
+ @@fields.each do |field|
22
+ attr_accessor field
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ module GiantBomb
2
+ class Region < Resource
3
+ has_resource 'region', plural: 'regions', id: nil
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-32
6
+ # http://www.giantbomb.com/api/documentation#toc-0-33
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the region detail resource
10
+ :date_added, # Date the region was added to Giant Bomb
11
+ :date_last_updated, # Date the region was last updated on Giant Bomb
12
+ :deck, # Brief summary of the region
13
+ :description, # Description of the region
14
+ :id, # Unique ID of the region
15
+ :image, # Main image of the region
16
+ :name, # Name of the region
17
+ :rating_boards, # Region in the region
18
+ :site_detail_url # URL pointing to the region on Giant Bomb
19
+ ]
20
+
21
+ @@fields.each do |field|
22
+ attr_accessor field
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,45 @@
1
+ module GiantBomb
2
+ class Release < Resource
3
+ has_resource 'release', plural: 'releases', id: nil
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-34
6
+ # http://www.giantbomb.com/api/documentation#toc-0-35
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the release detail resource
10
+ :date_added, # Date the release was added to Giant Bomb
11
+ :date_last_updated, # Date the release was last updated on Giant Bomb
12
+ :deck, # Brief summary of the release
13
+ :description, # Description of the release
14
+ :developers, # Companies who developed the release
15
+ :expected_release_day, # Expected day the release will be released. The month is represented numerically. Combine with 'expected_release_month', 'expected_release_year' and 'expected_release_quarter' for Giant Bomb's best guess release date of the release. These fields will be empty if the 'release_date' field is set
16
+ :expected_release_month , # Expected month the release will be released. The month is represented numerically. Combine with 'expected_release_day', expected_release_quarter' and 'expected_release_year' for Giant Bomb's best guess release date of the release. These fields will be empty if the 'release_date' field is set
17
+ :expected_release_quarter, # Expected quarter release will be released. The quarter is represented numerically, where 1 = Q1, 2 = Q2, 3 = Q3, and 4 = Q4. Combine with 'expected_release_day', 'expected_release_month' and 'expected_release_year' for Giant Bomb's best guess release date of the release. These fields will be empty if the 'release_date' field is set
18
+ :expected_release_year, # Expected year release will be released. Combine with 'expected_release_day', 'expected_release_month' and 'expected_release_quarter' for Giant Bomb's best guess release date of the game. These fields will be empty if the 'release_date' field is set
19
+ :game, # Game the release is for
20
+ :game_rating, # Rating of the release
21
+ :id, # Unique ID of the release
22
+ :image, # Main image of the release
23
+ :images, # List of images associated to the release
24
+ :maximum_players, # Maximum player
25
+ :minimum_players, # Minimum player
26
+ :multiplayer_features, # Multiplayer feature
27
+ :name, # Name of the release
28
+ :platform, # Platform of the release
29
+ :product_code_type, # The type of product code the release has (ex. UPC/A, ISBN-10, EAN-13)
30
+ :product_code_value, # The release's product code
31
+ :publishers, # Companies who published the release
32
+ :region, # Region the release is responsible for
33
+ :release_date, # Date of the release
34
+ :resolutions, # Resolutions availabl
35
+ :singleplayer_features, # Singleplayer feature
36
+ :sound_systems, # Sound system
37
+ :site_detail_url, # URL pointing to the release on Giant Bomb
38
+ :widescreen_support # Widescreen support
39
+ ]
40
+
41
+ @@fields.each do |field|
42
+ attr_accessor field
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,25 @@
1
+ module GiantBomb
2
+ class Review < Resource
3
+ has_resource 'review', plural: 'reviews', id: '1900'
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-36
6
+ # http://www.giantbomb.com/api/documentation#toc-0-37
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the review detail resource
10
+ :deck, # Brief summary of the review
11
+ :description, # Description of the review
12
+ :dlc_name, # Name of the Downloadable Content package
13
+ :game, # Game the review is for
14
+ :publish_date, # Date the review was published on Giant Bomb
15
+ :release, # Release of game for review
16
+ :reviewer, # Name of the review's author
17
+ :score, # The score given to the game on a scale of 1 to 5
18
+ :site_detail_url # URL pointing to the review on Giant Bomb
19
+ ]
20
+
21
+ @@fields.each do |field|
22
+ attr_accessor field
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,19 @@
1
+ module GiantBomb
2
+ class Theme < Resource
3
+ has_resource 'theme', plural: 'themes', id: nil
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-39
6
+ # http://www.giantbomb.com/api/documentation#toc-0-40
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the theme detail resource
10
+ :id, # Unique ID of the theme
11
+ :name, # Name of the theme
12
+ :site_detail_url # URL pointing to the theme on Giant Bomb
13
+ ]
14
+
15
+ @@fields.each do |field|
16
+ attr_accessor field
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,17 @@
1
+ module GiantBomb
2
+ class Type < Resource
3
+ has_resource 'types', plural: nil, id: nil
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-41
6
+ #
7
+ @@fields = [
8
+ :detail_resource_name, # The name of the type's detail resource
9
+ :id, # Unique ID of the type
10
+ :list_resource_name # The name of the type's list resource
11
+ ]
12
+
13
+ @@fields.each do |field|
14
+ attr_accessor field
15
+ end
16
+ end
17
+ end
@@ -14,7 +14,7 @@ module GiantBomb
14
14
  :game, # Game the user_review is for
15
15
  :reviewer, # Name of the review's author
16
16
  :score, # The score given to the game on a scale of 1 to 5
17
- :site_detail_url, # URL pointing to the user_review on Giant Bomb
17
+ :site_detail_url # URL pointing to the user_review on Giant Bomb
18
18
  ]
19
19
 
20
20
  @@fields.each do |field|
@@ -0,0 +1,34 @@
1
+ # [hd_url, high_url, low_url] = This URLs will not be usable from a web-browser.
2
+ # You must use GiantBomb' embed player to play their videos on any other web site. See embed_player below.
3
+ # For apps you must have a registered User Agent to load and play their videos. Contact edgework@giantbomb.com to do that
4
+
5
+ module GiantBomb
6
+ class Video < Resource
7
+ has_resource 'video', plural: 'videos', id: '2300'
8
+
9
+ # http://www.giantbomb.com/api/documentation#toc-0-44
10
+ # http://www.giantbomb.com/api/documentation#toc-0-45
11
+ #
12
+ @@fields = [
13
+ :api_detail_url, # URL pointing to the video detail resource
14
+ :deck, # Brief summary of the video
15
+ :hd_url, # URL to the HD version of the video
16
+ :high_url, # URL to the High Res version of the video
17
+ :low_url, # URL to the Low Res version of the video
18
+ :embed_player, # URL for video embed player. To be inserted into an iFrame. You can add ?autoplay=true to auto-play. See http://www.giantbomb.com/api/video-embed-sample/ for more information on using the embed player.
19
+ :id, # Unique ID of the video
20
+ :image, # Image associated with the video
21
+ :length_seconds, # Length (in seconds) of the video
22
+ :name, # Title of the video
23
+ :publish_date, # Date the video was published on Giant Bomb
24
+ :site_detail_url, # URL pointing to the video on Giant Bomb
25
+ :url, # The video's filename
26
+ :user, # Author of the video
27
+ :youtube_id # Youtube ID for the video
28
+ ]
29
+
30
+ @@fields.each do |field|
31
+ attr_accessor field
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,20 @@
1
+ module GiantBomb
2
+ class VideoType < Resource
3
+ has_resource 'video_type', plural: 'video_types', id: nil
4
+
5
+ # http://www.giantbomb.com/api/documentation#toc-0-46
6
+ # http://www.giantbomb.com/api/documentation#toc-0-47
7
+ #
8
+ @@fields = [
9
+ :api_detail_url, # URL pointing to the video_type detail resource.
10
+ :deck, # Brief summary of the video_type.
11
+ :id, # Unique ID of the video_type.
12
+ :name, # Name of the video_type.
13
+ :site_detail_url # URL pointing to the video_type on Giant Bomb.
14
+ ]
15
+
16
+ @@fields.each do |field|
17
+ attr_accessor field
18
+ end
19
+ end
20
+ end
@@ -1,12 +1,13 @@
1
1
  module GiantBomb
2
- VERSION = "1.5.7"
2
+ VERSION = "1.6.0"
3
3
 
4
4
  # Changelog
5
5
  #
6
- # v1.5.5 -
7
- # v1.5.6 - Add Review resource
8
- # v1.5.7 - Add User Review Resource
9
- ## v1.5.8 - Planned
6
+ # v1.5.5 - ... see git history
7
+ # v1.5.6 - Add Review resource
8
+ # v1.5.7 - Add User Review Resource
9
+ # v1.5.19 - Add all the missing resources from GB' API +1 for each resource
10
+ # v1.6.0 - GEM Rename and some cleanup here and there
10
11
  #
11
12
 
12
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: giantbomb-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.7
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Coker
@@ -25,8 +25,8 @@ dependencies:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
- description: Provides a simple, easy to use interface for the Giant Bomb video game
29
- wiki API.
28
+ description: Provides a complete and simple Ruby interface to communicate with the
29
+ GiantBomb' API
30
30
  email:
31
31
  - rob@robertsays.com
32
32
  - pacMakaveli90@gmail.com
@@ -38,36 +38,47 @@ extra_rdoc_files: []
38
38
  files:
39
39
  - ".gitignore"
40
40
  - ".rspec"
41
- - ".travis.yml"
42
41
  - Gemfile
43
42
  - Gemfile.lock
44
- - LICENSE.txt
43
+ - LICENSE
45
44
  - README.md
46
45
  - Rakefile
47
46
  - bin/console
48
47
  - bin/setup
49
48
  - giantbomb.gemspec
50
- - lib/giantbomb.rb
49
+ - lib/giantbomb-api.rb
51
50
  - lib/giantbomb/api.rb
52
- - lib/giantbomb/character.rb
53
- - lib/giantbomb/company.rb
54
- - lib/giantbomb/concept.rb
55
- - lib/giantbomb/franchise.rb
56
- - lib/giantbomb/game.rb
57
- - lib/giantbomb/location.rb
58
- - lib/giantbomb/object.rb
59
- - lib/giantbomb/person.rb
60
- - lib/giantbomb/platform.rb
61
51
  - lib/giantbomb/resource.rb
62
- - lib/giantbomb/review.rb
52
+ - lib/giantbomb/resources/accessory.rb
53
+ - lib/giantbomb/resources/character.rb
54
+ - lib/giantbomb/resources/chat.rb
55
+ - lib/giantbomb/resources/company.rb
56
+ - lib/giantbomb/resources/concept.rb
57
+ - lib/giantbomb/resources/franchise.rb
58
+ - lib/giantbomb/resources/game.rb
59
+ - lib/giantbomb/resources/game_rating.rb
60
+ - lib/giantbomb/resources/genre.rb
61
+ - lib/giantbomb/resources/location.rb
62
+ - lib/giantbomb/resources/object.rb
63
+ - lib/giantbomb/resources/person.rb
64
+ - lib/giantbomb/resources/platform.rb
65
+ - lib/giantbomb/resources/promo.rb
66
+ - lib/giantbomb/resources/rating_board.rb
67
+ - lib/giantbomb/resources/region.rb
68
+ - lib/giantbomb/resources/release.rb
69
+ - lib/giantbomb/resources/review.rb
70
+ - lib/giantbomb/resources/theme.rb
71
+ - lib/giantbomb/resources/type.rb
72
+ - lib/giantbomb/resources/user_review.rb
73
+ - lib/giantbomb/resources/video.rb
74
+ - lib/giantbomb/resources/video_type.rb
63
75
  - lib/giantbomb/search.rb
64
- - lib/giantbomb/user_review.rb
65
76
  - lib/giantbomb/version.rb
66
- - lib/giantbomb/video.rb
67
77
  - spec/giantbomb_spec.rb
68
78
  - spec/spec_helper.rb
69
79
  homepage: http://rubygems.org/gems/giantbomb-api
70
- licenses: []
80
+ licenses:
81
+ - MIT
71
82
  metadata: {}
72
83
  post_install_message:
73
84
  rdoc_options: []
@@ -88,7 +99,7 @@ rubyforge_project:
88
99
  rubygems_version: 2.4.8
89
100
  signing_key:
90
101
  specification_version: 4
91
- summary: A Ruby wrapper for the GiantBomb video game wiki API.
102
+ summary: A Ruby wrapper for the GiantBomb API.
92
103
  test_files:
93
104
  - spec/giantbomb_spec.rb
94
105
  - spec/spec_helper.rb
@@ -1,5 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.0.0
4
-
5
- before_install: gem install bundler -v 1.10.6
@@ -1,25 +0,0 @@
1
- require 'rubygems'
2
- require 'httparty'
3
-
4
- require 'giantbomb/version'
5
-
6
- module GiantBomb
7
-
8
- ['api', 'search', 'resource'].each do |inc|
9
- require File.join(File.dirname(__FILE__), 'giantbomb', inc)
10
- end
11
-
12
- c = ['character', 'company', 'concept']
13
- f = ['franchise']
14
- g = ['game']
15
- l = ['location']
16
- o = ['object']
17
- p = ['person', 'platform']
18
- r = ['review']
19
- u = ['user_review']
20
- v = ['video']
21
-
22
- [c, f, g, l, o, p, r, u, v].flatten.each do |inc|
23
- require File.join(File.dirname(__FILE__), 'giantbomb', inc)
24
- end
25
- end
@@ -1,27 +0,0 @@
1
- module GiantBomb
2
- class Review < Resource
3
- has_resource 'review', plural: 'reviews', id: '1900'
4
-
5
- # http://www.giantbomb.com/api/documentation#toc-0-36
6
- # http://www.giantbomb.com/api/documentation#toc-0-37
7
- #
8
- @@fields = [
9
- :api_detail_url, # URL pointing to the review detail resource
10
- :deck, # Brief summary of the review
11
- :description, # Description of the review
12
- :dlc, # Date the franchise was added to Giant Bomb
13
- :dlc_name, # Name of the Downloadable Content package
14
- :game, # Game the review is for
15
- :publish_date, # Date the review was published on Giant Bomb
16
- :release, # Release of game for review
17
- :reviewer, # Name of the review's author
18
- :score, # The score given to the game on a scale of 1 to 5
19
- :site_detail_url, # URL pointing to the review on Giant Bomb
20
- :platforms, # Platforms the review appeared in.
21
- ]
22
-
23
- @@fields.each do |field|
24
- attr_accessor field
25
- end
26
- end
27
- end
@@ -1,24 +0,0 @@
1
- module GiantBomb
2
- class Video < Resource
3
- has_resource 'video', plural: 'videos', id: '2300'
4
-
5
- # http://www.giantbomb.com/api/documentation#toc-0-44
6
- #
7
- @@fields = [
8
- :api_detail_url, # URL pointing to the video detail resource
9
- :deck, # Brief summary of the video
10
- :id, # Unique ID of the video
11
- :image, # Image associated with the video
12
- :name, # Title of the video
13
- :publish_date, # Date the video was published on Giant Bomb
14
- :site_detail_url, # URL pointing to the video on Giant Bomb
15
- :url, # The video's filename
16
- :user # Author of the video
17
- ]
18
-
19
- @@fields.each do |field|
20
- attr_accessor field
21
- end
22
-
23
- end
24
- end