Module: Jaleb
- Defined in:
- lib/jaleb.rb,
lib/jaleb/data.rb,
lib/jaleb/model.rb,
lib/jaleb/string.rb,
lib/jaleb/version.rb,
lib/jaleb/nokogiri.rb,
lib/jaleb/models/base.rb,
lib/jaleb/models/ebay.rb,
lib/jaleb/models/etsy.rb,
lib/jaleb/models/souq.rb,
lib/jaleb/models/amazon.rb,
lib/jaleb/models/newegg.rb,
lib/jaleb/models/gamecouk.rb,
lib/jaleb/models/thinkgeek.rb,
lib/jaleb/models/googleshopping.rb
Defined Under Namespace
Modules: Model, Nokogiri, String Classes: Data
Constant Summary collapse
- LIBRARY_PATH =
File.join(File.dirname(__FILE__), 'jaleb')
- MODEL_PATH =
File.join(LIBRARY_PATH, 'models')
- VERSION =
"0.1.2"
Class Method Summary collapse
-
.fetch(url) ⇒ Object
Fetch information based on url.
-
.model_classes ⇒ Object
get array of model classes Jaleb.model_classes = [Amazon, Ebay, ThinkGeek].
-
.models ⇒ Object
get array of models syms.
Class Method Details
.fetch(url) ⇒ Object
Fetch information based on url
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/jaleb.rb', line 18 def fetch(url) # Look for model based on url model_class = Jaleb::Model.identify(url) # Use Base class for fallback model_class = Jaleb::Model::Base unless model_class data = Jaleb::Data.read(url) product = model_class.new product.parse(data) # Save url product.url = url return product end |
.model_classes ⇒ Object
get array of model classes
Jaleb.model_classes = [Amazon, Ebay, ThinkGeek]
49 50 51 52 53 54 55 56 |
# File 'lib/jaleb.rb', line 49 def model_classes models = Array.new Dir[File.join(File.dirname(__FILE__), "jaleb", "models", "*.rb")].each do |f| filename = File.basename(f, ".rb") models << ["Jaleb", "Model", filename.camelize].join("::").constantize unless filename == "base" end return models end |
.models ⇒ Object
get array of models syms
38 39 40 41 42 43 44 45 |
# File 'lib/jaleb.rb', line 38 def models models = Array.new Dir[File.join(File.dirname(__FILE__), "jaleb", "models", "*.rb")].each do |f| model = File.basename(f, ".rb").to_sym models << model unless model == :base end return models end |