Module: Goods

Defined in:
lib/goods.rb,
lib/goods/xml.rb,
lib/goods/offer.rb,
lib/goods/catalog.rb,
lib/goods/version.rb,
lib/goods/category.rb,
lib/goods/currency.rb,
lib/goods/container.rb,
lib/goods/containable.rb,
lib/goods/offers_list.rb,
lib/goods/xml/validator.rb,
lib/goods/categories_list.rb,
lib/goods/currencies_list.rb

Defined Under Namespace

Modules: Containable, Container Classes: Catalog, CategoriesList, Category, CurrenciesList, Currency, Offer, OffersList, XML

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.from_file(file, encoding = nil) ⇒ Object



30
31
32
33
# File 'lib/goods.rb', line 30

def self.from_file(file, encoding=nil)
  xml_string = self.load file
  from_string(xml_string, nil, encoding)
end

.from_string(xml_string, url = nil, encoding = nil) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/goods.rb', line 16

def self.from_string(xml_string, url=nil, encoding=nil)
  validator = XML::Validator.new
  if validator.valid? xml_string
    Catalog.new(string: xml_string, url: url, encoding: encoding)
  else
    raise XML::InvalidFormatError, validator.error
  end
end

.from_url(url, encoding = nil) ⇒ Object



25
26
27
28
# File 'lib/goods.rb', line 25

def self.from_url(url, encoding=nil)
  xml_string = self.load url
  from_string(xml_string, url, encoding)
end