Class: LocalPac::ProxyPac::HTMLDivStyle

Inherits:
Object
  • Object
show all
Defined in:
lib/local_pac/proxy_pac/html_div_style.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ HTMLDivStyle

Returns a new instance of HTMLDivStyle.



11
12
13
14
15
16
17
# File 'lib/local_pac/proxy_pac/html_div_style.rb', line 11

def initialize(options = {})
  @main_container_css_class    = options.fetch(:main_container_css_class)
  @element_container_css_class = options.fetch(:element_container_css_class)
  @data                        = []
rescue KeyError => e
  raise ArgumentError, e.message
end

Instance Method Details

#add_data(data) ⇒ Object



19
20
21
# File 'lib/local_pac/proxy_pac/html_div_style.rb', line 19

def add_data(data)
  @data << data
end

#to_sObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/local_pac/proxy_pac/html_div_style.rb', line 23

def to_s
  data_row = data.reduce([]) do |memo, element|
    memo << "  <div class=\"#{element_container_css_class}\">"

    if element.header
      memo << "    <div class=\"#{element.header_css_class}\">" if element.header_css_class
      memo << "    #{element.header}"
      memo << '    </div>'                                      if element.header_css_class
    end

    memo << "    <div class=\"#{element.element_css_class}\">" if element.element_css_class
    memo << "      #{element.element}"
    memo << '    </div>'                                      if element.element_css_class

    memo << '  </div>'
  end

  content = ["<div class=\"#{main_container_css_class}\">"]
  content.concat data_row
  content << '</div>'

  content.join("\n")
end