class Pikelet::RecordDefiner
Attributes
definition[R]
file_definition[R]
Public Class Methods
define(file_definition, record_class: nil, base: nil, &block)
click to toggle source
# File lib/pikelet/record_definer.rb, line 22 def self.define(file_definition, record_class: nil, base: nil, &block) definer = self.new(file_definition, record_class: record_class, base: base) definer.instance_eval(&block) if block_given? definer.definition end
new(file_definition, record_class:, base:)
click to toggle source
# File lib/pikelet/record_definer.rb, line 5 def initialize(file_definition, record_class:, base:) @file_definition = file_definition @definition = RecordDefinition.new(file_definition, record_class: record_class, base: base) end
Public Instance Methods
field(name, index, *flags, **options, &block)
click to toggle source
# File lib/pikelet/record_definer.rb, line 10 def field(name, index, *flags, **options, &block) definition.field(name, index, **options, &block) end
method_missing(method, *args, **options, &block)
click to toggle source
# File lib/pikelet/record_definer.rb, line 18 def method_missing(method, *args, **options, &block) field(method, *args, **options, &block) end
record(signature, record_class: nil, &block)
click to toggle source
# File lib/pikelet/record_definer.rb, line 14 def record(signature, record_class: nil, &block) file_definition.define_record(signature, record_class: record_class, base: definition, &block) end