Class: YmlBuilder::Yml
- Inherits:
-
Object
- Object
- YmlBuilder::Yml
- Defined in:
- lib/yml_builder/yml.rb
Instance Attribute Summary collapse
-
#categories ⇒ Object
readonly
Ссылка на класс, описывающий категории (YmlBuilding::Categories).
-
#currencies ⇒ Object
readonly
Ссылка на класс, описывающий валюты (YmlBuilding::Currencies).
-
#local_delivery_cost ⇒ Object
Переменая, хранящая стоимость доставки в локации расположения Интернет-магазина.
-
#offers ⇒ Object
readonly
Ссылка на класс, управляющий товарами (офферами) (YmlBuilding::Offers).
-
#shop ⇒ Object
readonly
Ссылка на класс, описывающий контакты Интернет-магазина (YmlBuilding::Shop).
Instance Method Summary collapse
-
#initialize ⇒ Yml
constructor
A new instance of Yml.
-
#save(filename) ⇒ None
Метод для записи прайслиста в файл.
-
#stats ⇒ None
Метод возвращает статистику по результатам генерации прайс-листа: всего товаров, товаров в наличии, стоимость товаров в наличии (без учета количества).
-
#to_yml ⇒ String
Метод возвращает текстовую строку с прайс-листом в формате Яндекс.Маркет.
Constructor Details
#initialize ⇒ Yml
Returns a new instance of Yml.
33 34 35 36 37 38 39 40 |
# File 'lib/yml_builder/yml.rb', line 33 def initialize @stats = ::YmlBuilder::Stats.new @shop = ::YmlBuilder::Shop.new @currencies = ::YmlBuilder::Currencies.new @categories = ::YmlBuilder::Categories.new(@stats) @offers = ::YmlBuilder::Offers.new(@stats, @categories) @local_delivery_cost = nil end |
Instance Attribute Details
#categories ⇒ Object (readonly)
Ссылка на класс, описывающий категории (YmlBuilding::Categories)
16 17 18 |
# File 'lib/yml_builder/yml.rb', line 16 def categories @categories end |
#currencies ⇒ Object (readonly)
Ссылка на класс, описывающий валюты (YmlBuilding::Currencies)
23 24 25 |
# File 'lib/yml_builder/yml.rb', line 23 def currencies @currencies end |
#local_delivery_cost ⇒ Object
Переменая, хранящая стоимость доставки в локации расположения Интернет-магазина
30 31 32 |
# File 'lib/yml_builder/yml.rb', line 30 def local_delivery_cost @local_delivery_cost end |
#offers ⇒ Object (readonly)
Ссылка на класс, управляющий товарами (офферами) (YmlBuilding::Offers)
25 26 27 |
# File 'lib/yml_builder/yml.rb', line 25 def offers @offers end |
#shop ⇒ Object (readonly)
Ссылка на класс, описывающий контакты Интернет-магазина (YmlBuilding::Shop)
10 11 12 |
# File 'lib/yml_builder/yml.rb', line 10 def shop @shop end |
Instance Method Details
#save(filename) ⇒ None
Метод для записи прайслиста в файл. Запись осущесствится в кодировке windows-1251
89 90 91 |
# File 'lib/yml_builder/yml.rb', line 89 def save(filename) File.open(filename, 'w:windows-1251') { |f| f.write(to_yml) } end |
#stats ⇒ None
Метод возвращает статистику по результатам генерации прайс-листа: всего товаров, товаров в наличии, стоимость товаров в наличии (без учета количества)
60 61 62 |
# File 'lib/yml_builder/yml.rb', line 60 def stats @stats.stats end |
#to_yml ⇒ String
Метод возвращает текстовую строку с прайс-листом в формате Яндекс.Маркет
71 72 73 74 75 76 77 78 79 |
# File 'lib/yml_builder/yml.rb', line 71 def to_yml out = @shop.to_yml out.gsub!(/^\s{0,100}\{replace\_currencies\}/, @currencies.to_yml) out.gsub!(/^\s{0,100}\{replace\_categories\}/, @categories.to_yml) out.gsub!(/^\s{0,100}\{replace\_local\_delivery\_cost\}[\n\r]/, lds_to_yml) out.gsub!(/^\s{0,100}\{replace\_offers\}/, @offers.to_yml) (out) end |