Class: RgGen::InputBase::Item

Inherits:
Base::Item show all
Includes:
RegxpPatterns
Defined in:
lib/rggen/input_base/item.rb

Direct Known Subclasses

Configuration::Item, RegisterMap::Item

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

#owner

Class Method Summary collapse

Instance Method Summary collapse

Methods included from RegxpPatterns

included

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

#validateObject



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