module Fletcher

Constants

CLI_PATH
LIBRARY_PATH
MODEL_PATH
USER_AGENT

User Agent (Chrome)

Public Class Methods

fetch(url) click to toggle source

Fetch information based on url

# File lib/fletcher.rb, line 20
def fetch(url) 
  # Look for model based on url
  model_class = Fletcher::Model.identify(url)

  # Use Base class for fallback
  model_class = Fletcher::Model::Base unless model_class
  
  data = Fletcher::Data.read(url)

  product = model_class.new
  product.parse(data)

  # Save url
  product.url = url
  
  return product
end
model_classes() click to toggle source

get array of model classes

Fletcher.model_classes = [Amazon, Ebay, ThinkGeek]
# File lib/fletcher.rb, line 60
def model_classes
  models = Array.new
  Dir[File.join(File.dirname(__FILE__), "fletcher", "models", "*.rb")].each do |f|
    filename = File.basename(f, ".rb")
    models << ["Fletcher", "Model", filename.camelize].join("::").constantize unless filename == "base"
  end 
  return models
end
models() click to toggle source

get array of models syms

# File lib/fletcher.rb, line 49
def models
  models = Array.new
  Dir[File.join(File.dirname(__FILE__), "fletcher", "models", "*.rb")].each do |f|
    model = File.basename(f, ".rb").to_sym
    models << model unless model == :base
  end 
  return models
end
root() click to toggle source

Get gem root directory

# File lib/fletcher.rb, line 44
def root
  File.expand_path("../..", __FILE__)
end
version() click to toggle source

Get gem version

# File lib/fletcher.rb, line 39
def version
  File.read(File.join(root, "VERSION"))
end