Class: YmlBuilder::Shop

Inherits:
Object
  • Object
show all
Defined in:
lib/yml_builder/shop.rb

Instance Method Summary collapse

Constructor Details

#initializeShop

Returns a new instance of Shop.



4
5
6
# File 'lib/yml_builder/shop.rb', line 4

def initialize
  init_class
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_sym, *arguments, &block) ⇒ Object (private)



58
59
60
61
62
63
64
65
66
# File 'lib/yml_builder/shop.rb', line 58

def method_missing(method_sym, *arguments, &block)
  if @params[:m].include?(method_sym.to_s.gsub(/=$/, '').to_sym)
    processing_method(:m, method_sym, arguments.first)
  elsif @params[:o].include?(method_sym.to_s.gsub(/=$/, '').to_sym)
    processing_method(:o, method_sym, arguments.first)
  else
    super
  end
end

Instance Method Details

#to_ymlString

Метод формирует фрагмент YML файла каталога Яндекс.Маркет для описания Интернет-магазина

Returns:

  • (String)

    фрагмент YML файла каталога Яндекс.Маркет



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/yml_builder/shop.rb', line 12

def to_yml
  out = Array.new
  out << '  <shop>'

  @params[:m].each do |key, value|
    raise "Ошибка секции 'company': не заполнено значение для обязательного ключа #{key.to_s.inspect}" if value == ''
    out << "    <#{key}>#{::YmlBuilder::Common.encode_special_chars(value)}</#{key}>"
  end

  @params[:o].each do |key, value|
    unless value.nil?
      out << "    <#{key}>#{::YmlBuilder::Common.encode_special_chars(value)}</#{key}>"
    end
  end

  out << '    {replace_currencies}'
  out << '    {replace_categories}'
  out << '    {replace_local_delivery_cost}'
  out << '    {replace_offers}'
  out << '  </shop>'
  out.join("\n")
end