metal_archives 0.7.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e3cdbaca08453f89fdf008362cd405344099c11
4
- data.tar.gz: ed9f37be9ee34d42797fe5f9cec5e8c9e0c93272
3
+ metadata.gz: e19af43a38aa2f5242fee7553c145f673811af35
4
+ data.tar.gz: 05f2f5ad5b31fa0b8fa095f9866f6b4d148ce4c3
5
5
  SHA512:
6
- metadata.gz: 6cf8ff4eb55da462c100bdd1fc1812c51bdccfb3a37967e24f40fdab95dd3f4506a82ae22a67bec2d3b70801c8f93c4d38f9f0ca2a5ab8bebd6b380b3817ca20
7
- data.tar.gz: 5f651187da8e27842ffef53c2d1d11be0a343997d27753bf9883220b91dc53a90ac1db6046aa8bbf86206b1c4caf257211f2692894dfa8f0e33395d4896fb7a0
6
+ metadata.gz: 73946de65fb4d67fc98591a897bd9045db3c483e39084656ec4b4e39fa49b247ccd892aeca6f7565969c3522c8772ac0ae6d577ed1d6c6a7d7797fd960dabf89
7
+ data.tar.gz: 1f2bba663937069139bbd0d2a0093e9e95b7e547f1a1b7a4e0f3e4e3a40790a9f4780cecaf5804677c02fc1df44f2c3c74b938930a97c6c6c5cd29ebcd1bcc71
@@ -1,22 +1,22 @@
1
- require_relative 'metal_archives/version'
2
- require_relative 'metal_archives/configuration'
3
- require_relative 'metal_archives/error'
1
+ require 'metal_archives/version'
2
+ require 'metal_archives/configuration'
3
+ require 'metal_archives/error'
4
4
 
5
- require_relative 'metal_archives/utils/range'
6
- require_relative 'metal_archives/utils/collection'
7
- require_relative 'metal_archives/utils/lru_cache'
5
+ require 'metal_archives/utils/range'
6
+ require 'metal_archives/utils/collection'
7
+ require 'metal_archives/utils/lru_cache'
8
8
 
9
- require_relative 'metal_archives/models/base_model'
10
- require_relative 'metal_archives/models/label'
11
- require_relative 'metal_archives/models/artist'
12
- require_relative 'metal_archives/models/band'
9
+ require 'metal_archives/models/base_model'
10
+ require 'metal_archives/models/label'
11
+ require 'metal_archives/models/artist'
12
+ require 'metal_archives/models/band'
13
13
 
14
- require_relative 'metal_archives/parsers/parser'
15
- require_relative 'metal_archives/parsers/label'
16
- require_relative 'metal_archives/parsers/artist'
17
- require_relative 'metal_archives/parsers/band'
14
+ require 'metal_archives/parsers/parser'
15
+ require 'metal_archives/parsers/label'
16
+ require 'metal_archives/parsers/artist'
17
+ require 'metal_archives/parsers/band'
18
18
 
19
- require_relative 'metal_archives/http_client'
19
+ require 'metal_archives/http_client'
20
20
 
21
21
  ##
22
22
  # Metal Archives Ruby API
@@ -45,6 +45,11 @@ module MetalArchives
45
45
  #
46
46
  attr_accessor :app_contact
47
47
 
48
+ ##
49
+ # Metal Archives endpoint (defaults to http://www.metal-archives.com/)
50
+ #
51
+ attr_accessor :endpoint
52
+
48
53
  ##
49
54
  # Request throttling rate (in seconds per request per path)
50
55
  #
@@ -69,6 +74,7 @@ module MetalArchives
69
74
  # Default configuration values
70
75
  #
71
76
  def initialize
77
+ @endpoint = 'http://www.metal-archives.com/'
72
78
  @throttle_rate = 1
73
79
  @throttle_wait = 3
74
80
  @logger = Logger.new STDOUT
@@ -155,25 +155,25 @@ module MetalArchives
155
155
  #
156
156
  def assemble # :nodoc:
157
157
  ## Base attributes
158
- url = "http://www.metal-archives.com/artist/view/id/#{id}"
158
+ url = "#{MetalArchives.config.endpoint}artist/view/id/#{id}"
159
159
  response = HTTPClient.get url
160
160
 
161
161
  properties = Parsers::Artist.parse_html response.body
162
162
 
163
163
  ## Biography
164
- url = "http://www.metal-archives.com/artist/read-more/id/#{id}/field/biography"
164
+ url = "#{MetalArchives.config.endpoint}artist/read-more/id/#{id}/field/biography"
165
165
  response = HTTPClient.get url
166
166
 
167
167
  properties[:biography] = response.body
168
168
 
169
169
  ## Trivia
170
- url = "http://www.metal-archives.com/artist/read-more/id/#{id}/field/trivia"
170
+ url = "#{MetalArchives.config.endpoint}artist/read-more/id/#{id}/field/trivia"
171
171
  response = HTTPClient.get url
172
172
 
173
173
  properties[:trivia] = response.body
174
174
 
175
175
  ## Related links
176
- url = "http://www.metal-archives.com/link/ajax-list/type/person/id/#{id}"
176
+ url = "#{MetalArchives.config.endpoint}link/ajax-list/type/person/id/#{id}"
177
177
  response = HTTPClient.get url
178
178
 
179
179
  properties[:links] = Parsers::Artist.parse_links_html response.body
@@ -233,7 +233,7 @@ module MetalArchives
233
233
  def find_by(query)
234
234
  raise MetalArchives::Errors::ArgumentError unless query.include? :name
235
235
 
236
- url = 'http://www.metal-archives.com/search/ajax-artist-search/'
236
+ url = "#{MetalArchives.config.endpoint}search/ajax-artist-search/"
237
237
  params = Parsers::Artist.map_params query
238
238
 
239
239
  response = HTTPClient.get url, params
@@ -285,7 +285,7 @@ module MetalArchives
285
285
  def search(name)
286
286
  raise MetalArchives::Errors::ArgumentError unless name.is_a? String
287
287
 
288
- url = 'http://www.metal-archives.com/search/ajax-artist-search/'
288
+ url = "#{MetalArchives.config.endpoint}search/ajax-artist-search/"
289
289
  query = { :name => name }
290
290
 
291
291
  params = Parsers::Artist.map_params query
@@ -328,7 +328,7 @@ module MetalArchives
328
328
  # - rdoc-ref:MetalArchives::Errors::ParserError when parsing failed. Please report this error.
329
329
  #
330
330
  def all
331
- url = 'http://www.metal-archives.com/search/ajax-artist-search/'
331
+ url = "#{MetalArchives.config.endpoint}search/ajax-artist-search/"
332
332
 
333
333
  l = lambda do
334
334
  @start ||= 0
@@ -212,25 +212,25 @@ module MetalArchives
212
212
  #
213
213
  def assemble # :nodoc:
214
214
  ## Base attributes
215
- url = "http://www.metal-archives.com/band/view/id/#{id}"
215
+ url = "#{MetalArchives.config.endpoint}band/view/id/#{id}"
216
216
  response = HTTPClient.get url
217
217
 
218
218
  properties = Parsers::Band.parse_html response.body
219
219
 
220
220
  ## Comment
221
- url = "http://www.metal-archives.com/band/read-more/id/#{id}"
221
+ url = "#{MetalArchives.config.endpoint}band/read-more/id/#{id}"
222
222
  response = HTTPClient.get url
223
223
 
224
224
  properties[:comment] = response.body
225
225
 
226
226
  ## Similar artists
227
- url = "http://www.metal-archives.com/band/ajax-recommendations/id/#{id}"
227
+ url = "#{MetalArchives.config.endpoint}band/ajax-recommendations/id/#{id}"
228
228
  response = HTTPClient.get url
229
229
 
230
230
  properties[:similar] = Parsers::Band.parse_similar_bands_html response.body
231
231
 
232
232
  ## Related links
233
- url = "http://www.metal-archives.com/link/ajax-list/type/band/id/#{id}"
233
+ url = "#{MetalArchives.config.endpoint}link/ajax-list/type/band/id/#{id}"
234
234
  response = HTTPClient.get url
235
235
 
236
236
  properties[:links] = Parsers::Band.parse_related_links_html response.body
@@ -299,7 +299,7 @@ module MetalArchives
299
299
  # - +:independent+: boolean
300
300
  #
301
301
  def find_by(query)
302
- url = 'http://www.metal-archives.com/search/ajax-advanced/searching/bands/'
302
+ url = "#{MetalArchives.config.endpoint}search/ajax-advanced/searching/bands"
303
303
  params = Parsers::Band.map_params query
304
304
 
305
305
  response = HTTPClient.get url, params
@@ -371,7 +371,7 @@ module MetalArchives
371
371
  # - +:independent+: boolean
372
372
  #
373
373
  def search_by(query)
374
- url = 'http://www.metal-archives.com/search/ajax-advanced/searching/bands/'
374
+ url = "#{MetalArchives.config.endpoint}search/ajax-advanced/searching/bands"
375
375
 
376
376
  params = Parsers::Band.map_params query
377
377
 
@@ -9,7 +9,7 @@ module Parsers
9
9
  class Label # :nodoc:
10
10
  class << self
11
11
  def find_endpoint(params)
12
- "http://www.metal-archives.com/labels/#{params[:name]}/#{params[:id]}"
12
+ "#{MetalArchives.config.endpoint}labels/#{params[:name]}/#{params[:id]}"
13
13
  end
14
14
 
15
15
  def parse(response)
@@ -2,5 +2,5 @@ module MetalArchives
2
2
  ##
3
3
  # MetalArchives API version
4
4
  #
5
- VERSION = '0.7.1'
5
+ VERSION = '0.8.0'
6
6
  end
@@ -1,18 +1,18 @@
1
1
  require File.expand_path('../lib/metal_archives/version', __FILE__)
2
2
 
3
3
  Gem::Specification.new do |gem|
4
- gem.authors = ["Florian Dejonckheere"]
5
- gem.email = ["florian@floriandejonckheere.be"]
4
+ gem.authors = ['Florian Dejonckheere']
5
+ gem.email = ['florian@floriandejonckheere.be']
6
6
  gem.summary = %q{Metal Archives Ruby API}
7
- gem.homepage = "http://github.com/floriandejonckheere/metal_archives"
7
+ gem.homepage = 'http://github.com/floriandejonckheere/metal_archives'
8
8
 
9
9
  gem.files = %x{git ls-files}.split($\)
10
10
  gem.executables = []
11
11
  gem.test_files = gem.files.grep(%r{^spec/})
12
- gem.name = "metal_archives"
12
+ gem.name = 'metal_archives'
13
13
  gem.require_paths = %w[lib]
14
14
  gem.version = MetalArchives::VERSION
15
- gem.license = "MIT"
15
+ gem.license = 'MIT'
16
16
 
17
17
  gem.add_development_dependency 'byebug', '~> 9.0'
18
18
  gem.add_development_dependency 'rake', '~> 11.0'
@@ -21,6 +21,6 @@ Gem::Specification.new do |gem|
21
21
 
22
22
  gem.add_dependency 'faraday', '~> 0.9'
23
23
  gem.add_dependency 'faraday_throttler', '~> 0.0.3'
24
- gem.add_dependency 'nokogiri', '~> 1.6.8'
25
- gem.add_dependency 'countries', '~> 1.2.5'
24
+ gem.add_dependency 'nokogiri', '~> 1.6', '>= 1.6.8'
25
+ gem.add_dependency 'countries', '~> 1.2', '>= 1.2.5'
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metal_archives
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Dejonckheere
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-16 00:00:00.000000000 Z
11
+ date: 2017-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -99,6 +99,9 @@ dependencies:
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.6'
104
+ - - ">="
102
105
  - !ruby/object:Gem::Version
103
106
  version: 1.6.8
104
107
  type: :runtime
@@ -106,6 +109,9 @@ dependencies:
106
109
  version_requirements: !ruby/object:Gem::Requirement
107
110
  requirements:
108
111
  - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '1.6'
114
+ - - ">="
109
115
  - !ruby/object:Gem::Version
110
116
  version: 1.6.8
111
117
  - !ruby/object:Gem::Dependency
@@ -113,6 +119,9 @@ dependencies:
113
119
  requirement: !ruby/object:Gem::Requirement
114
120
  requirements:
115
121
  - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.2'
124
+ - - ">="
116
125
  - !ruby/object:Gem::Version
117
126
  version: 1.2.5
118
127
  type: :runtime
@@ -120,6 +129,9 @@ dependencies:
120
129
  version_requirements: !ruby/object:Gem::Requirement
121
130
  requirements:
122
131
  - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '1.2'
134
+ - - ">="
123
135
  - !ruby/object:Gem::Version
124
136
  version: 1.2.5
125
137
  description: