comicvine 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Rakefile +3 -2
- data/checksum/comicvine-0.1.0.gem.sha256 +1 -0
- data/checksum/comicvine-0.1.1.gem.sha256 +1 -0
- data/comicvine.gemspec +1 -0
- data/lib/comicvine.rb +26 -6
- data/lib/comicvine/list.rb +2 -2
- data/lib/comicvine/resource.rb +105 -2
- data/lib/comicvine/{modules.rb → resource/resources.rb} +103 -73
- data/lib/comicvine/version.rb +1 -1
- metadata +6 -5
- metadata.gz.sig +0 -0
- data/checksum/comicvine-0.1.0.gem.sha512 +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b853ef9a066f23008e9a9c8dce147714133d01c
|
4
|
+
data.tar.gz: 2dd9897234f1313c78e29439697627f8dc08dbe6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e01d4e5a1c09b824ff07dfecf91af1b891713a96247b2bac236a261886885f6ad0c8a376fed54476cc98365b9874cd86f69b243899a82e0e5c61e15cfeeec88
|
7
|
+
data.tar.gz: c30f5d767bb36b32956858e5eba92dcc34d9cc8ed3e571da4cbd6e128ea4f896f01c5f2951e7be0ea98d385eea48a3877607ae28b4ee23923bd0af026b51f83a
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/Rakefile
CHANGED
@@ -7,6 +7,7 @@ Rake::TestTask.new(:test) do |t|
|
|
7
7
|
t.libs << 'test'
|
8
8
|
t.libs << 'lib'
|
9
9
|
t.test_files = FileList['test/**/*_test.rb']
|
10
|
+
t.warning = false
|
10
11
|
end
|
11
12
|
|
12
13
|
YARD::Rake::YardocTask.new do |t|
|
@@ -21,7 +22,7 @@ task :default => :test
|
|
21
22
|
task :gen_checksum do
|
22
23
|
require 'digest/sha2'
|
23
24
|
built_gem_path = 'pkg/comicvine-'+ComicVine::VERSION+'.gem'
|
24
|
-
checksum = Digest::
|
25
|
-
checksum_path = 'checksum/comicvine-'+ComicVine::VERSION+'.gem.
|
25
|
+
checksum = Digest::SHA256.new.hexdigest(File.read(built_gem_path))
|
26
|
+
checksum_path = 'checksum/comicvine-'+ComicVine::VERSION+'.gem.sha256'
|
26
27
|
File.open(checksum_path, 'w' ) {|f| f.write(checksum) }
|
27
28
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
92388ee99e2c725b1375a106605187fd29bb3ebe12c1beb591cf06d7e9949e18
|
@@ -0,0 +1 @@
|
|
1
|
+
21c5dd6f5935c7f44468fcba50e4297a66add76177f4ca9e8a48cd5edb801f89
|
data/comicvine.gemspec
CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.bindir = 'exe'
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ['lib']
|
23
|
+
spec.required_ruby_version = '>= 2.2'
|
23
24
|
|
24
25
|
spec.cert_chain = ['certs/homans.pem']
|
25
26
|
spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if $0 =~ /gem\z/
|
data/lib/comicvine.rb
CHANGED
@@ -59,6 +59,9 @@ module ComicVine
|
|
59
59
|
# ComicVine API Key. Set to the environmental variable CV_API_KEY by default if present
|
60
60
|
@@api_key = ENV['CV_API_KEY'] || nil
|
61
61
|
|
62
|
+
# Api response timeout in seconds
|
63
|
+
@@api_timeout = 10
|
64
|
+
|
62
65
|
class << self
|
63
66
|
|
64
67
|
##
|
@@ -85,6 +88,22 @@ module ComicVine
|
|
85
88
|
@@api_key = key
|
86
89
|
end
|
87
90
|
|
91
|
+
##
|
92
|
+
# Returns ComicVine API request timeout value
|
93
|
+
# @return [Integer]
|
94
|
+
# @since 0.1.2
|
95
|
+
def api_timeout
|
96
|
+
@@api_timeout
|
97
|
+
end
|
98
|
+
|
99
|
+
##
|
100
|
+
# Sets the ComicVine API request timeout value in seconds
|
101
|
+
# @param seconds [Integer]
|
102
|
+
# @since 0.1.0
|
103
|
+
def api_timeout=(seconds)
|
104
|
+
@@api_timeout = seconds.to_i
|
105
|
+
end
|
106
|
+
|
88
107
|
##
|
89
108
|
# Makes request for the current api version
|
90
109
|
#
|
@@ -178,18 +197,18 @@ module ComicVine
|
|
178
197
|
}
|
179
198
|
ops_hash.merge! params
|
180
199
|
resp = _make_request(resource, ops_hash)
|
181
|
-
ComicVine::Resource.
|
200
|
+
ComicVine::Resource.create_resource(resp['results'])
|
182
201
|
end
|
183
202
|
|
184
203
|
##
|
185
204
|
# Will fetch the provided +url+ as a {ComicVine::Resource}
|
186
205
|
# @example
|
187
|
-
# ComicVine::API.get_details_by_url('http://comicvine.gamespot.com/api/issue/4000-371103')
|
206
|
+
# ComicVine::API.get_details_by_url('http://comicvine.gamespot.com/api/issue/4000-371103') #=> ComicVine::Resource::Issue
|
188
207
|
# @param url [String]
|
189
208
|
# @return [ComicVine::Resource]
|
190
209
|
def get_details_by_url(url)
|
191
210
|
resp = _make_url_request(url)
|
192
|
-
ComicVine::Resource
|
211
|
+
ComicVine::Resource::create_resource(resp['results'])
|
193
212
|
end
|
194
213
|
|
195
214
|
##
|
@@ -199,8 +218,7 @@ module ComicVine
|
|
199
218
|
get_list method_sym, arguments.first
|
200
219
|
elsif find_detail(method_sym)
|
201
220
|
get_details method_sym, *arguments
|
202
|
-
elsif
|
203
|
-
super
|
221
|
+
elsif super
|
204
222
|
end
|
205
223
|
end
|
206
224
|
|
@@ -269,11 +287,13 @@ module ComicVine
|
|
269
287
|
options[:params].merge! params
|
270
288
|
|
271
289
|
begin
|
290
|
+
# Sleep for 1 sec to avoid rate limit
|
291
|
+
sleep 1
|
272
292
|
# Perform request
|
273
293
|
request = RestClient::Request.execute(
|
274
294
|
method: :get,
|
275
295
|
url: url,
|
276
|
-
timeout:
|
296
|
+
timeout: self.api_timeout,
|
277
297
|
headers: options
|
278
298
|
)
|
279
299
|
#request = RestClient.get(url, options)
|
data/lib/comicvine/list.rb
CHANGED
@@ -53,7 +53,7 @@ module ComicVine
|
|
53
53
|
super(resp)
|
54
54
|
|
55
55
|
@resource = resc
|
56
|
-
@cvos = resp['results'].map { |r| ComicVine::Resource.
|
56
|
+
@cvos = resp['results'].map { |r| ComicVine::Resource.create_resource(r) }
|
57
57
|
end
|
58
58
|
|
59
59
|
def next_page
|
@@ -79,7 +79,7 @@ module ComicVine
|
|
79
79
|
|
80
80
|
@resource = resc
|
81
81
|
@query = query
|
82
|
-
@cvos = resp['results'].map { |r| ComicVine::Resource.
|
82
|
+
@cvos = resp['results'].map { |r| ComicVine::Resource.create_resource(r) }
|
83
83
|
end
|
84
84
|
|
85
85
|
##
|
data/lib/comicvine/resource.rb
CHANGED
@@ -12,21 +12,54 @@ module ComicVine
|
|
12
12
|
self.class.class_eval { attr_reader k } unless self.respond_to? k
|
13
13
|
|
14
14
|
# Convert sub arrays to objects
|
15
|
-
v.collect! { |i| Resource
|
15
|
+
v.collect! { |i| ComicVine::Resource::create_resource(i) } if v.kind_of?(Array) && !v.empty? && v.first.key?('api_detail_url')
|
16
16
|
|
17
17
|
# Convert sub hashes to objects
|
18
|
-
|
18
|
+
if v.kind_of?(Hash) && v.key?('api_detail_url')
|
19
|
+
v = ComicVine::Resource::create_resource(v)
|
20
|
+
end
|
19
21
|
|
20
22
|
# Set the instance variable to value
|
21
23
|
instance_variable_set "@#{k}", v
|
22
24
|
end
|
23
25
|
end
|
24
26
|
|
27
|
+
##
|
28
|
+
# Fetches data from ComicVine based on objects api_detail_url
|
29
|
+
#
|
25
30
|
# @return [ComicVine::Resource]
|
31
|
+
# @since 0.1.0
|
26
32
|
def fetch
|
27
33
|
ComicVine::API.get_details_by_url(self.api_detail_url)
|
28
34
|
end
|
29
35
|
|
36
|
+
##
|
37
|
+
# Fetches data from ComicVine based on objects api_detail_url and updates self with new values
|
38
|
+
#
|
39
|
+
# @return [ComicVine::Resource]
|
40
|
+
# @since 0.1.2
|
41
|
+
def fetch!
|
42
|
+
obj = ComicVine::API.get_details_by_url(self.api_detail_url)
|
43
|
+
self.methods.each do |m|
|
44
|
+
# Look for methods that can be set (i.e. ends with a =)
|
45
|
+
if m.to_s =~ /^(?!_)([\w\d\_]+)=$/
|
46
|
+
# Save our method symbols in a more readable fashion
|
47
|
+
get_m = $1.to_sym
|
48
|
+
set_m = m
|
49
|
+
|
50
|
+
# Skip setting ids, as this should be handled by the classes when setting the children objects if needed
|
51
|
+
next if get_m.to_s =~ /\_ids?$/ || set_m.to_s =~ /attributes/
|
52
|
+
|
53
|
+
# Verify the new object has a get method and it is not nil or empty
|
54
|
+
if self.respond_to?(set_m) && obj.respond_to?(get_m) && !obj.method(get_m).call.nil?
|
55
|
+
# Now set the method to the new value
|
56
|
+
self.method(set_m).call obj.method(get_m).call
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
self
|
61
|
+
end
|
62
|
+
|
30
63
|
# @private
|
31
64
|
def method_missing(method_sym, *arguments, &block)
|
32
65
|
if method_sym.to_s =~ /^get_(.*)$/
|
@@ -49,5 +82,75 @@ module ComicVine
|
|
49
82
|
elsif super
|
50
83
|
end
|
51
84
|
end
|
85
|
+
|
86
|
+
##
|
87
|
+
# Identifies objects resource type based on its ComicVine api_detail_url
|
88
|
+
#
|
89
|
+
# @return [Symbol]
|
90
|
+
# @since 0.1.2
|
91
|
+
def resource_type
|
92
|
+
ComicVine::Resource(self.api_detail_url)
|
93
|
+
end
|
94
|
+
|
95
|
+
class << self
|
96
|
+
|
97
|
+
##
|
98
|
+
# Takes hash and returns a {ComicVine::Resource}
|
99
|
+
#
|
100
|
+
# @param attr [Hash]
|
101
|
+
# @return [ComicVine::Resource]
|
102
|
+
# @since 0.1.2
|
103
|
+
def create_resource(attr)
|
104
|
+
ComicVine::Resource.new attr
|
105
|
+
end
|
106
|
+
|
107
|
+
##
|
108
|
+
# Parses supplied api_detail_url and returns the translated type symbol
|
109
|
+
#
|
110
|
+
# @param response [Hash]
|
111
|
+
# @return [Symbol]
|
112
|
+
# @since 0.1.2
|
113
|
+
def identify_and_update_response(response)
|
114
|
+
type = ComicVine::Resource::identify_type(response['api_detail_url'])
|
115
|
+
|
116
|
+
case type
|
117
|
+
when :first_appeared_in_issue
|
118
|
+
type = :issue
|
119
|
+
response['api_detail_url'].to_s.sub! 'first_appeared_in_issue', 'issue'
|
120
|
+
when :thing
|
121
|
+
type = :object
|
122
|
+
response['api_detail_url'].to_s.sub! 'thing', 'object'
|
123
|
+
when :creator
|
124
|
+
type = :person
|
125
|
+
response['api_detail_url'].to_s.sub! 'creator', 'person'
|
126
|
+
when :writer
|
127
|
+
type = :person
|
128
|
+
response['api_detail_url'].to_s.sub! 'writer', 'person'
|
129
|
+
when :studio
|
130
|
+
type = :publisher
|
131
|
+
response['api_detail_url'].to_s.sub! 'studio', 'publisher'
|
132
|
+
when :arc
|
133
|
+
type = :story_arc
|
134
|
+
response['api_detail_url'].to_s.sub! 'arc', 'story_arc'
|
135
|
+
else
|
136
|
+
end
|
137
|
+
|
138
|
+
type
|
139
|
+
end
|
140
|
+
|
141
|
+
##
|
142
|
+
# Parses supplied api_detail_url and returns the translated type symbol
|
143
|
+
#
|
144
|
+
# @param api_detail_url [String]
|
145
|
+
# @return [Symbol]
|
146
|
+
# @since 0.1.2
|
147
|
+
def identify_type(api_detail_url)
|
148
|
+
if api_detail_url.to_s =~ /comicvine\.gamespot\.com\/api\/(\w+)\/?/
|
149
|
+
$1.to_s.to_sym
|
150
|
+
else
|
151
|
+
nil
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
52
155
|
end
|
53
156
|
end
|
@@ -1,13 +1,28 @@
|
|
1
1
|
module ComicVine
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
#
|
9
|
-
#
|
10
|
-
|
2
|
+
class Resource
|
3
|
+
|
4
|
+
##
|
5
|
+
# Takes hash and returns a subclass of {ComicVine::Resource} based on identified type
|
6
|
+
#
|
7
|
+
# @example
|
8
|
+
# ComicVine::Resource.create_resource(hash) #=> #<ComicVine::Resource::Issue:0x007fa6a427bbe8>
|
9
|
+
#
|
10
|
+
# @param attr [Hash]
|
11
|
+
# @return [ComicVine::Resource]
|
12
|
+
# @since 0.1.2
|
13
|
+
def self.create_resource(attr)
|
14
|
+
type = ComicVine::Resource::identify_and_update_response(attr)
|
15
|
+
if type
|
16
|
+
Object.class_eval('ComicVine::Resource::' + type.to_s.capitalize).new attr
|
17
|
+
else
|
18
|
+
raise ScriptError, 'Unknown type for api_detail_url: ' + attr['api_detail_url']
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
##
|
23
|
+
# Extends {ComicVine::Resource} to add character resource attributes
|
24
|
+
# # @since 0.1.2
|
25
|
+
class Character < ComicVine::Resource
|
11
26
|
attr_accessor :aliases, :api_detail_url, :birth, :character_enemies, :character_friends,
|
12
27
|
:count_of_issue_appearances, :creators, :date_added, :date_last_updated, :deck, :description,
|
13
28
|
:first_appeared_in_issue, :gender, :id, :image, :issue_credits, :issues_died_in, :movies, :name,
|
@@ -16,25 +31,25 @@ module ComicVine
|
|
16
31
|
end
|
17
32
|
|
18
33
|
##
|
19
|
-
#
|
20
|
-
# @since 0.1.
|
21
|
-
|
34
|
+
# Extends {ComicVine::Resource} to add chat resource attributes
|
35
|
+
# @since 0.1.2
|
36
|
+
class Chat < ComicVine::Resource
|
22
37
|
attr_accessor :api_detail_url, :channel_name, :deck, :image, :password, :site_detail_url, :title
|
23
38
|
end
|
24
39
|
|
25
40
|
##
|
26
|
-
#
|
27
|
-
# @since 0.1.
|
28
|
-
|
41
|
+
# Extends {ComicVine::Resource} to add concept resource attributes
|
42
|
+
# @since 0.1.2
|
43
|
+
class Concept < ComicVine::Resource
|
29
44
|
attr_accessor :aliases, :api_detail_url, :count_of_issue_appearances, :date_added, :date_last_updated, :deck,
|
30
45
|
:description, :first_appeared_in_issue, :id, :image, :issue_credits, :movies, :name,
|
31
46
|
:site_detail_url, :start_year, :volume_credits
|
32
47
|
end
|
33
48
|
|
34
49
|
##
|
35
|
-
#
|
36
|
-
# @since 0.1.
|
37
|
-
|
50
|
+
# Extends {ComicVine::Resource} to add episode resource attributes
|
51
|
+
# @since 0.1.2
|
52
|
+
class Episode < ComicVine::Resource
|
38
53
|
attr_accessor :aliases, :api_detail_url, :character_credits, :characters_died_in, :concept_credits, :air_date,
|
39
54
|
:date_added, :date_last_updated, :deck, :description, :first_appearance_characters,
|
40
55
|
:first_appearance_concepts, :first_appearance_locations, :first_appearance_objects,
|
@@ -44,30 +59,30 @@ module ComicVine
|
|
44
59
|
end
|
45
60
|
|
46
61
|
##
|
47
|
-
#
|
48
|
-
# @since 0.1.
|
49
|
-
|
50
|
-
attr_accessor :aliases, :api_detail_url, :character_credits, :
|
62
|
+
# Extends {ComicVine::Resource} to add issue resource attributes
|
63
|
+
# @since 0.1.2
|
64
|
+
class Issue < ComicVine::Resource
|
65
|
+
attr_accessor :aliases, :api_detail_url, :character_credits, :character_died_in, :concept_credits, :cover_date,
|
51
66
|
:date_added, :date_last_updated, :deck, :description, :disbanded_teams,
|
52
67
|
:first_appearance_characters, :first_appearance_concepts, :first_appearance_locations,
|
53
68
|
:first_appearance_objects, :first_appearance_storyarcs, :first_appearance_teams, :has_staff_review,
|
54
69
|
:id, :image, :issue_number, :location_credits, :name, :object_credits, :person_credits,
|
55
|
-
:site_detail_url, :store_date, :story_arc_credits, :team_credits, :
|
70
|
+
:site_detail_url, :store_date, :story_arc_credits, :team_credits, :team_disbanded_in, :volume
|
56
71
|
end
|
57
72
|
|
58
73
|
##
|
59
|
-
#
|
60
|
-
# @since 0.1.
|
61
|
-
|
74
|
+
# Extends {ComicVine::Resource} to add location resource attributes
|
75
|
+
# @since 0.1.2
|
76
|
+
class Location < ComicVine::Resource
|
62
77
|
attr_accessor :aliases, :api_detail_url, :count_of_issue_appearances, :date_added, :date_last_updated, :deck,
|
63
78
|
:description, :first_appeared_in_issue, :id, :image, :issue_credits, :movies, :name,
|
64
79
|
:site_detail_url, :start_year, :story_arc_credits, :volume_credits
|
65
80
|
end
|
66
81
|
|
67
82
|
##
|
68
|
-
#
|
69
|
-
# @since 0.1.
|
70
|
-
|
83
|
+
# Extends {ComicVine::Resource} to add movie resource attributes
|
84
|
+
# @since 0.1.2
|
85
|
+
class Movie < ComicVine::Resource
|
71
86
|
attr_accessor :api_detail_url, :box_office_revenue, :budget, :characters, :concepts, :date_added,
|
72
87
|
:date_last_updated, :deck, :description, :distributor, :has_staff_review, :id, :image, :locations,
|
73
88
|
:name, :producers, :rating, :release_date, :runtime, :site_detail_url, :studios, :teams, :things,
|
@@ -75,75 +90,76 @@ module ComicVine
|
|
75
90
|
end
|
76
91
|
|
77
92
|
##
|
78
|
-
#
|
79
|
-
# @since 0.1.
|
80
|
-
|
93
|
+
# Extends {ComicVine::Resource} to add object resource attributes
|
94
|
+
# @since 0.1.2
|
95
|
+
class Object < ComicVine::Resource
|
81
96
|
attr_accessor :aliases, :api_detail_url, :count_of_issue_appearances, :date_added, :date_last_updated, :deck,
|
82
97
|
:description, :first_appeared_in_issue, :id, :image, :issue_credits, :movies, :name,
|
83
98
|
:site_detail_url, :start_year, :story_arc_credits, :volume_credits
|
84
99
|
end
|
85
100
|
|
86
101
|
##
|
87
|
-
#
|
88
|
-
# @since 0.1.
|
89
|
-
|
90
|
-
attr_accessor :api_detail_url, :character_set, :id, :name, :profiles, :site_detail_url
|
102
|
+
# Extends {ComicVine::Resource} to add origin resource attributes
|
103
|
+
# @since 0.1.2
|
104
|
+
class Origin < ComicVine::Resource
|
105
|
+
attr_accessor :api_detail_url, :character_set, :characters, :id, :name, :profiles, :site_detail_url
|
91
106
|
end
|
92
107
|
|
93
108
|
##
|
94
|
-
#
|
95
|
-
# @since 0.1.
|
96
|
-
|
109
|
+
# Extends {ComicVine::Resource} to add person resource attributes
|
110
|
+
# @since 0.1.2
|
111
|
+
class Person < ComicVine::Resource
|
97
112
|
attr_accessor :aliases, :api_detail_url, :birth, :count_of_issue_appearances, :country, :created_characters,
|
98
113
|
:date_added, :date_last_updated, :death, :deck, :description, :email, :gender, :hometown, :id,
|
99
114
|
:image, :issue_credits, :name, :site_detail_url, :story_arc_credits, :volume_credits, :website
|
100
115
|
end
|
101
116
|
|
102
117
|
##
|
103
|
-
#
|
104
|
-
# @since 0.1.
|
105
|
-
|
106
|
-
attr_accessor :
|
118
|
+
# Extends {ComicVine::Resource} to add power resource attributes
|
119
|
+
# @since 0.1.2
|
120
|
+
class Power < ComicVine::Resource
|
121
|
+
attr_accessor :aliases, :api_detail_url, :characters, :date_added, :date_last_updated,
|
107
122
|
:description, :id, :name, :site_detail_url
|
108
123
|
end
|
109
124
|
|
110
125
|
##
|
111
|
-
#
|
112
|
-
# @since 0.1.
|
113
|
-
|
126
|
+
# Extends {ComicVine::Resource} to add promo resource attributes
|
127
|
+
# @since 0.1.2
|
128
|
+
class Promo < ComicVine::Resource
|
114
129
|
attr_accessor :api_detail_url, :date_added, :deck, :id, :image, :link, :name, :resource_type, :user
|
115
130
|
end
|
116
131
|
|
117
132
|
##
|
118
|
-
#
|
119
|
-
# @since 0.1.
|
120
|
-
|
133
|
+
# Extends {ComicVine::Resource} to add publisher resource attributes
|
134
|
+
# @since 0.1.2
|
135
|
+
class Publisher < ComicVine::Resource
|
121
136
|
attr_accessor :aliases, :api_detail_url, :characters, :date_added, :date_last_updated, :deck, :description, :id,
|
122
137
|
:image, :location_address, :location_city, :location_state, :name, :site_detail_url, :story_arcs,
|
123
138
|
:teams, :volumes
|
124
139
|
end
|
140
|
+
|
125
141
|
##
|
126
|
-
#
|
127
|
-
# @since 0.1.
|
128
|
-
|
142
|
+
# Extends {ComicVine::Resource} to add series resource attributes
|
143
|
+
# @since 0.1.2
|
144
|
+
class Series < ComicVine::Resource
|
129
145
|
attr_accessor :aliases, :api_detail_url, :character_credits, :count_of_episodes, :date_added, :date_last_updated,
|
130
146
|
:deck, :description, :first_episode, :id, :image, :last_episode, :location_credits, :name,
|
131
147
|
:publisher, :site_detail_url, :start_year
|
132
148
|
end
|
133
149
|
|
134
150
|
##
|
135
|
-
#
|
136
|
-
# @since 0.1.
|
137
|
-
|
151
|
+
# Extends {ComicVine::Resource} to add story_arc resource attributes
|
152
|
+
# @since 0.1.2
|
153
|
+
class StoryArc < ComicVine::Resource
|
138
154
|
attr_accessor :aliases, :api_detail_url, :count_of_issue_appearances, :date_added, :date_last_updated, :deck,
|
139
155
|
:description, :first_appeared_in_issue, :id, :image, :issues, :movies, :name, :publisher,
|
140
156
|
:site_detail_url
|
141
157
|
end
|
142
158
|
|
143
159
|
##
|
144
|
-
#
|
145
|
-
# @since 0.1.
|
146
|
-
|
160
|
+
# Extends {ComicVine::Resource} to add team resource attributes
|
161
|
+
# @since 0.1.2
|
162
|
+
class Team < ComicVine::Resource
|
147
163
|
attr_accessor :aliases, :api_detail_url, :character_enemies, :character_friends, :characters,
|
148
164
|
:count_of_issue_appearances, :count_of_team_members, :date_added, :date_last_updated, :deck,
|
149
165
|
:description, :disbanded_in_issues, :first_appeared_in_issue, :id, :image, :issue_credits,
|
@@ -152,43 +168,57 @@ module ComicVine
|
|
152
168
|
end
|
153
169
|
|
154
170
|
##
|
155
|
-
#
|
156
|
-
# @since 0.1.
|
157
|
-
|
171
|
+
# Extends {ComicVine::Resource} to add type resource attributes
|
172
|
+
# @since 0.1.2
|
173
|
+
class Type < ComicVine::Resource
|
158
174
|
attr_accessor :detail_resource_name, :list_resource_name, :id
|
159
175
|
end
|
160
176
|
|
161
177
|
##
|
162
|
-
#
|
163
|
-
# @since 0.1.
|
164
|
-
|
178
|
+
# Extends {ComicVine::Resource} to add video resource attributes
|
179
|
+
# @since 0.1.2
|
180
|
+
class Video < ComicVine::Resource
|
165
181
|
attr_accessor :api_detail_url, :deck, :hd_url, :high_url, :id, :image, :length_seconds, :low_url, :name,
|
166
182
|
:publish_date, :site_detail_url, :url, :user
|
167
183
|
end
|
168
184
|
|
169
185
|
##
|
170
|
-
#
|
171
|
-
# @since 0.1.
|
172
|
-
|
186
|
+
# Extends {ComicVine::Resource} to add video_category resource attributes
|
187
|
+
# @since 0.1.2
|
188
|
+
class VideoCategory < ComicVine::Resource
|
173
189
|
attr_accessor :api_detail_url, :deck, :id, :name, :site_detail_url
|
174
190
|
end
|
175
191
|
|
176
192
|
##
|
177
|
-
#
|
178
|
-
# @since 0.1.
|
179
|
-
|
193
|
+
# Extends {ComicVine::Resource} to add video_type resource attributes
|
194
|
+
# @since 0.1.2
|
195
|
+
class VideoType < ComicVine::Resource
|
180
196
|
attr_accessor :api_detail_url, :deck, :id, :name, :site_detail_url
|
181
197
|
end
|
182
198
|
|
183
199
|
##
|
184
|
-
#
|
185
|
-
# @since 0.1.
|
186
|
-
|
200
|
+
# Extends {ComicVine::Resource} to add volume resource attributes
|
201
|
+
# @since 0.1.2
|
202
|
+
class Volume < ComicVine::Resource
|
187
203
|
attr_accessor :aliases, :api_detail_url, :character_credits, :concept_credits, :count_of_issues, :date_added,
|
188
204
|
:date_last_updated, :deck, :description, :first_issue, :id, :image, :last_issue, :location_credits,
|
189
205
|
:name, :object_credits, :person_credits, :publisher, :site_detail_url, :start_year, :team_credits
|
190
206
|
end
|
191
207
|
|
208
|
+
##
|
209
|
+
# Extends {ComicVine::Resource} to add review resource attributes
|
210
|
+
# @since 0.1.2
|
211
|
+
class Review < ComicVine::Resource
|
212
|
+
attr_accessor :api_detail_url, :id, :name, :site_detail_url
|
213
|
+
|
214
|
+
# @private
|
215
|
+
# @since 0.1.2
|
216
|
+
def fetch
|
217
|
+
self
|
218
|
+
end
|
219
|
+
|
220
|
+
end
|
221
|
+
|
192
222
|
end
|
193
223
|
end
|
194
224
|
|
data/lib/comicvine/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: comicvine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Holden Omans
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
VpDNqh/BlGMQ0mqAEuBFZFSNaroph6JLUz1ykVvQENOQLThxAjolK7SAUrdoBDOc
|
31
31
|
fXEVP1s+hpJB6IEU8/LW016TU8WpnA+MHGfJRtkrUm/cEsWU
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2016-11-
|
33
|
+
date: 2016-11-16 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: bundler
|
@@ -171,12 +171,13 @@ files:
|
|
171
171
|
- bin/console
|
172
172
|
- bin/setup
|
173
173
|
- certs/homans.pem
|
174
|
-
- checksum/comicvine-0.1.0.gem.
|
174
|
+
- checksum/comicvine-0.1.0.gem.sha256
|
175
|
+
- checksum/comicvine-0.1.1.gem.sha256
|
175
176
|
- comicvine.gemspec
|
176
177
|
- lib/comicvine.rb
|
177
178
|
- lib/comicvine/list.rb
|
178
|
-
- lib/comicvine/modules.rb
|
179
179
|
- lib/comicvine/resource.rb
|
180
|
+
- lib/comicvine/resource/resources.rb
|
180
181
|
- lib/comicvine/version.rb
|
181
182
|
homepage: https://github.com/kalinon/ruby-comicvine-api
|
182
183
|
licenses:
|
@@ -190,7 +191,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
190
191
|
requirements:
|
191
192
|
- - ">="
|
192
193
|
- !ruby/object:Gem::Version
|
193
|
-
version: '
|
194
|
+
version: '2.2'
|
194
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
196
|
requirements:
|
196
197
|
- - ">="
|
metadata.gz.sig
CHANGED
Binary file
|
@@ -1 +0,0 @@
|
|
1
|
-
98a260c7e46e2166f400b41fc88d9da43d2f75c42712fd1f137734d20f8cebdeb101b735edb005f94cf67878d7f44c7da686775229edbc2751d0468581feed7c
|