Class: RgGen::InputBase::Item
- Inherits:
-
Base::Item
- Object
- Base::Item
- RgGen::InputBase::Item
- Includes:
- RegxpPatterns
- Defined in:
- lib/rggen/input_base/item.rb
Direct Known Subclasses
Defined Under Namespace
Classes: InputMatcher
Constant Summary
Constants included from RegxpPatterns
RegxpPatterns::BIN_REGEXP, RegxpPatterns::DEC_REGEXP, RegxpPatterns::HEX_REGEXP, RegxpPatterns::OCT_REGEXP, RegxpPatterns::UNSIGNED_NUMBER_REGEXP, RegxpPatterns::VARIABLE_NAME_REGEXP
Instance Attribute Summary
Attributes inherited from Base::Item
Class Method Summary collapse
Instance Method Summary collapse
Methods included from RegxpPatterns
Methods inherited from Base::Item
#available?, available?, define_helpers, inherit_class_instance_variable, #initialize
Methods included from Forwardable
#def_class_delegator, #def_class_delegators
Constructor Details
This class inherits a constructor from RgGen::Base::Item
Class Method Details
.inherited(subclass) ⇒ Object
90 91 92 93 94 95 96 |
# File 'lib/rggen/input_base/item.rb', line 90 def self.inherited(subclass) super(subclass) [:@fields, :@builders, :@validators].each do |v| subclass.inherit_class_instance_variable(v, self, &:dup) end subclass.inherit_class_instance_variable(:@input_matcher, self) end |
Instance Method Details
#build(*sources) ⇒ Object
103 104 105 106 107 108 109 |
# File 'lib/rggen/input_base/item.rb', line 103 def build(*sources) return unless builders pattern_match(sources.last) if match_automatically? builders.each do |builder| instance_exec(*sources, &builder) end end |
#validate ⇒ Object
111 112 113 114 115 116 117 118 |
# File 'lib/rggen/input_base/item.rb', line 111 def validate return if @validated return unless validators validators.each do |validator| instance_exec(&validator) end @validated = true end |