Class: XLSSestavy::RadaSloupcu

Inherits:
Object
  • Object
show all
Defined in:
lib/xls_sestavy/rada_sloupcu.rb

Direct Known Subclasses

DefiniceSloupcu

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sloupce = nil, argumenty = nil) {|_self| ... } ⇒ RadaSloupcu

Returns a new instance of RadaSloupcu.

Yields:

  • (_self)

Yield Parameters:



7
8
9
10
11
12
13
14
15
16
# File 'lib/xls_sestavy/rada_sloupcu.rb', line 7

def initialize(sloupce=nil, argumenty=nil)
  @sloupce = sloupce || []
  yield self if block_given?
  if @sloupce.class!=Array && @sloupce.any?{|s| !s.kind_of? Sloupec}
    raise 'RadaSloupcu musí být inicializovány polem Sloupců'
  end
  nastav_argumenty argumenty if argumenty
  @seznam = {}
  aktualizuj_seznam
end

Instance Attribute Details

#sloupceObject (readonly)

Returns the value of attribute sloupce.



5
6
7
# File 'lib/xls_sestavy/rada_sloupcu.rb', line 5

def sloupce
  @sloupce
end

Instance Method Details

#[](klic) ⇒ Object



30
31
32
33
# File 'lib/xls_sestavy/rada_sloupcu.rb', line 30

def [](klic)
  index = @seznam[klic.to_sym]
  index ? @sloupce[index] :nil
end

#aktualizuj_seznamObject



35
36
37
38
39
40
# File 'lib/xls_sestavy/rada_sloupcu.rb', line 35

def aktualizuj_seznam
  @seznam = {}
  @sloupce.each_with_index do |s,i|
    @seznam[s.klic] = i if s.class==PreddefinovanySloupec
  end
end

#nastav_argumenty(argumenty) ⇒ Object



26
27
28
# File 'lib/xls_sestavy/rada_sloupcu.rb', line 26

def nastav_argumenty(argumenty)
  @sloupce.each{|s| s.nastav_argumenty argumenty}
end

#pridej(*args, &block) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/xls_sestavy/rada_sloupcu.rb', line 18

def pridej(*args, &block)
  if args.first.is_a? Sloupec
    @sloupce << args.first
  else
    @sloupce << Sloupec.new(*args, &block)
  end
end