Module: L43Peg::Box

Defined in:
lib/l43_peg/box.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#valueObject (readonly)

Returns the value of attribute value.



6
7
8
# File 'lib/l43_peg/box.rb', line 6

def value
  @value
end

Class Method Details

.make(class_name) ⇒ Object

Raises:



8
9
10
11
12
13
# File 'lib/l43_peg/box.rb', line 8

def self.make(class_name)
  klass = Object.const_get(class_name) if Object.const_defined?(class_name)
  raise NotABox, "#{class_name} is already defined but not a Box!" if klass && !(klass < self)
  klass = Object.const_set(class_name, Class.new.include(self)) unless klass
  klass
end

Instance Method Details

#deconstruct_keysObject



15
# File 'lib/l43_peg/box.rb', line 15

def deconstruct_keys(*) = {class: self, value:}