Class: XLSSestavy::Sloupec

Inherits:
Object
  • Object
show all
Defined in:
lib/xls_sestavy/tabulky/sloupce/sloupec.rb

Direct Known Subclasses

PreddefinovanySloupec

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(zahlavi, opts = {}, &block) ⇒ Sloupec

argumenty, fce, xls_format, datovy_typ, radek_souctu, sirka_sloupce



8
9
10
# File 'lib/xls_sestavy/tabulky/sloupce/sloupec.rb', line 8

def initialize(zahlavi, opts={}, &block)
  @options = opts.merge! zahlavi: zahlavi, fce: (opts[:fce] || block)
end

Instance Attribute Details

#tabulkaObject

Returns the value of attribute tabulka.



5
6
7
# File 'lib/xls_sestavy/tabulky/sloupce/sloupec.rb', line 5

def tabulka
  @tabulka
end

Instance Method Details

#argumenty_arrayObject



17
18
19
20
21
22
# File 'lib/xls_sestavy/tabulky/sloupce/sloupec.rb', line 17

def argumenty_array
  return @argumenty_array if defined? @argumenty_array
  raise 'Není přiřazena tabulka.' unless @tabulka
  params = @tabulka.sestava.params
  @argumenty_array = (@options[:argumenty] || []).map{|arg_sym| params[arg_sym]}
end

#hodnota_pro(objekt) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/xls_sestavy/tabulky/sloupce/sloupec.rb', line 24

def hodnota_pro(objekt)
  @fce ||= @options[:fce]
  if @fce.class==Proc
    @fce.call(objekt, *argumenty_array)
  elsif objekt.respond_to? @fce
    objekt.send(@fce, *argumenty_array)
  elsif nil
    nil
  else
    raise "Není definováno pro @fce=#{@fce.class}:#{@fce}"
  end
end

#opt(klic) ⇒ Object



37
38
39
# File 'lib/xls_sestavy/tabulky/sloupce/sloupec.rb', line 37

def opt(klic)
  @options[klic]
end

#zahlaviObject



12
13
14
15
# File 'lib/xls_sestavy/tabulky/sloupce/sloupec.rb', line 12

def zahlavi
  raise 'Není přiřazena tabulka.' unless @tabulka
  @zahlavi ||= I18n.translate(@options[:zahlavi], {default: @options[:zahlavi]}.merge!(@tabulka.sestava.params))
end