Module: L43Peg::Mappers

Extended by:
Mappers
Included in:
Mappers
Defined in:
lib/l43_peg/mappers.rb

Instance Method Summary collapse

Instance Method Details

#box(class_name, value) ⇒ Object

coming soon

@return instance of a class names `class_name`


10
11
12
13
14
# File 'lib/l43_peg/mappers.rb', line 10

def box(class_name, value)
  # klass = BoxFactory.make_a_box_class(class_name)
  klass = Box.make(class_name)
  klass.new(value)
end

#boxed(class_name, &blk) ⇒ Object

:nodoc:



16
17
18
19
20
# File 'lib/l43_peg/mappers.rb', line 16

def boxed(class_name, &blk) # :nodoc:
  # klass = BoxFactory.make_a_box_class(class_name)
  klass = Box.make(class_name)
  -> (ast) { klass.new(ast, &blk) }
end

#join_and_to_iObject

:nodoc:



22
23
24
25
26
# File 'lib/l43_peg/mappers.rb', line 22

def join_and_to_i # :nodoc:
  -> list do
    list.join.to_i
  end
end

#join_mapsObject

Returns a mapper that maps the ast on a list of maps



30
31
32
33
34
35
36
# File 'lib/l43_peg/mappers.rb', line 30

def join_maps
  -> maps do
    maps.reduce Hash.new do |map, entry|
      map.merge(entry) { |*args| args.drop(1).flatten }
    end
  end
end