Class: Pikelet::FileDefinition
- Inherits:
-
Object
- Object
- Pikelet::FileDefinition
- Defined in:
- lib/pikelet/file_definition.rb
Instance Attribute Summary collapse
-
#base_record_definition ⇒ Object
readonly
Returns the value of attribute base_record_definition.
Instance Method Summary collapse
-
#initialize(&block) ⇒ FileDefinition
constructor
A new instance of FileDefinition.
- #parse(data, &block) ⇒ Object
- #parse_hashes(hashes, &block) ⇒ Object
- #record(type_signature, base_definition: nil, &block) ⇒ Object
- #record_definitions ⇒ Object
Constructor Details
#initialize(&block) ⇒ FileDefinition
Returns a new instance of FileDefinition.
5 6 7 |
# File 'lib/pikelet/file_definition.rb', line 5 def initialize(&block) @base_record_definition = RecordDefiner.new(self).define(&block) end |
Instance Attribute Details
#base_record_definition ⇒ Object (readonly)
Returns the value of attribute base_record_definition.
3 4 5 |
# File 'lib/pikelet/file_definition.rb', line 3 def base_record_definition @base_record_definition end |
Instance Method Details
#parse(data, &block) ⇒ Object
18 19 20 |
# File 'lib/pikelet/file_definition.rb', line 18 def parse(data, &block) parse_records(data, method: :parse, &block) end |
#parse_hashes(hashes, &block) ⇒ Object
22 23 24 |
# File 'lib/pikelet/file_definition.rb', line 22 def parse_hashes(hashes, &block) parse_records(hashes, method: :parse_hash, &block) end |
#record(type_signature, base_definition: nil, &block) ⇒ Object
9 10 11 12 |
# File 'lib/pikelet/file_definition.rb', line 9 def record(type_signature, base_definition: nil, &block) base_definition ||= base_record_definition record_definitions[type_signature] = RecordDefiner.new(self, base_definition: base_definition).define(&block) end |
#record_definitions ⇒ Object
14 15 16 |
# File 'lib/pikelet/file_definition.rb', line 14 def record_definitions @record_definitions ||= {} end |