Module: Fletcher::Model

Defined in:
lib/fletcher.rb,
lib/fletcher/model.rb,
lib/fletcher/models/base.rb,
lib/fletcher/models/ebay.rb,
lib/fletcher/models/etsy.rb,
lib/fletcher/models/steam.rb,
lib/fletcher/models/amazon.rb,
lib/fletcher/models/newegg.rb,
lib/fletcher/models/playcom.rb,
lib/fletcher/models/gamecouk.rb,
lib/fletcher/models/thinkgeek.rb,
lib/fletcher/models/googleshopping.rb

Overview

Autoload Models

Defined Under Namespace

Classes: Amazon, Base, Ebay, Etsy, Gamecouk, Googleshopping, Newegg, Playcom, Steam, Thinkgeek

Class Method Summary collapse

Class Method Details

.identify(url) ⇒ Object

Detect model by url

Fletcher::Model.identify("http://www.amazon.com/whatever") # => Flether::Models::Amazon


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/fletcher/model.rb', line 6

def identify(url)
  if url =~ ::URI::regexp
    uri = ::URI::parse(url)
    host = uri.host
    matched_model = nil
    for model in Fletcher.model_classes
      #model_class =            
      matched_model = model if host =~ model.regexp 
    end 
    # raise ArgumentError, "Fletcher doesn't support #{host} yet." unless matched_model_class
    return matched_model
  else 
    raise ArgumentError, "not a url"
  end
end