Module: CSVBox

Defined in:
lib/csv_box.rb,
lib/csv_box/version.rb

Defined Under Namespace

Classes: Box, Layout

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.add(box, &block) ⇒ Object



5
6
7
8
# File 'lib/csv_box.rb', line 5

def self.add(box, &block)
  @boxmap ||= {}
  @boxmap.store(box, block)
end

.box_namesObject



10
11
12
# File 'lib/csv_box.rb', line 10

def self.box_names
  @boxmap.keys
end

.layouts(name, &block) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/csv_box.rb', line 19

def self.layouts(name, &block)
  @layoutmap ||= {}

  layout = Layout.new
  layout.instance_eval(&block)

  @layoutmap.store(name, layout)
end

.take(box, layout) ⇒ Object



14
15
16
17
# File 'lib/csv_box.rb', line 14

def self.take(box, layout)
  box_layout = @layoutmap.fetch(box)
  Box.new(@boxmap.fetch(box), box_layout.fetch(layout))
end