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