Class: XLSSestavy::Sloupec
- Inherits:
-
Object
- Object
- XLSSestavy::Sloupec
- Defined in:
- lib/xls_sestavy/tabulky/sloupce/sloupec.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#tabulka ⇒ Object
Returns the value of attribute tabulka.
Instance Method Summary collapse
- #argumenty_array ⇒ Object
- #hodnota_pro(objekt) ⇒ Object
-
#initialize(zahlavi, opts = {}, &block) ⇒ Sloupec
constructor
argumenty, fce, xls_format, datovy_typ, radek_souctu, sirka_sloupce.
- #opt(klic) ⇒ Object
- #zahlavi ⇒ Object
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) = opts.merge! zahlavi: zahlavi, fce: (opts[:fce] || block) end |
Instance Attribute Details
#tabulka ⇒ Object
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_array ⇒ Object
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 = ([: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 ||= [: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) [klic] end |
#zahlavi ⇒ Object
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([:zahlavi], {default: [:zahlavi]}.merge!(@tabulka.sestava.params)) end |