Module: ProductSpy
- Defined in:
- lib/product_spy.rb,
lib/product_spy/host.rb,
lib/product_spy/version.rb,
lib/product_spy/configuration.rb
Defined Under Namespace
Classes: Configuration, Host
Constant Summary collapse
- VERSION =
"0.0.6"
Class Method Summary collapse
-
.build(host, pk, options = {}) ⇒ Object
Build the url for a given host and primary key.
-
.parse(url) ⇒ Object
Get the primary key of a given url.
- .setup {|Configuration.instance| ... } ⇒ Object
Class Method Details
.build(host, pk, options = {}) ⇒ Object
Build the url for a given host and primary key
Example
ProductSpy.build('amazon.de', ['B004O9DF6O']) # => https://www.amazon.de/dp/B004O9DF6O
76 77 78 79 80 81 82 83 |
# File 'lib/product_spy.rb', line 76 def self.build(host, pk, = {}) = { :type => :default }.merge() host = Configuration.instance.hosts[host.to_sym] host.make_url(pk, ) end |
.parse(url) ⇒ Object
Get the primary key of a given url
Example
ProductSpy.parse('https://www.amazon.de/dp/B004O9DF6O') => ['www.amazon.de', ['B004O9DF6O']]
92 93 94 95 96 97 98 |
# File 'lib/product_spy.rb', line 92 def self.parse(url) uri = Addressable::URI.parse(url) host = Configuration.instance.hosts[uri.host.downcase.to_sym] unless uri.nil? or uri.host.nil? return nil if host.nil? return nil if (pk = host.make_pk(url)).nil? [host.host_name.downcase, pk] end |
.setup {|Configuration.instance| ... } ⇒ Object
25 26 27 |
# File 'lib/product_spy/configuration.rb', line 25 def self.setup(&block) yield Configuration.instance end |