Class: Pikelet::FileDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/pikelet/file_definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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_definitionObject (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_definitionsObject



14
15
16
# File 'lib/pikelet/file_definition.rb', line 14

def record_definitions
  @record_definitions ||= {}
end