Module: L43Peg::Mappers
Instance Method Summary collapse
-
#box(class_name, value) ⇒ Object
coming soon @return instance of a class names ‘class_name`.
-
#boxed(class_name, &blk) ⇒ Object
:nodoc:.
-
#join_and_to_i ⇒ Object
:nodoc:.
-
#join_maps ⇒ Object
Returns a mapper that maps the ast on a list of maps.
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_i ⇒ Object
: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_maps ⇒ Object
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 |