class Record::Builder

Public Class Methods

build_logger() click to toggle source

add simple logger with debug flag/switch

use Parser.debug = true # to turn on

todo/fix: use logutils instead of std logger - why? why not?

# File lib/record/builder.rb, line 16
def self.build_logger()
  l = Logger.new( STDOUT )
  l.level = :info    ## set to :info on start; note: is 0 (debug) by default
  l
end
logger() click to toggle source
# File lib/record/builder.rb, line 21
def self.logger() @@logger ||= build_logger; end
new( super_class=Base ) click to toggle source
# File lib/record/builder.rb, line 26
def initialize( super_class=Base )
  @clazz = Class.new( super_class )
end

Public Instance Methods

field( name, type=:string ) click to toggle source
# File lib/record/builder.rb, line 30
def field( name, type=:string )   ## note: type defaults to string
  logger.debug "  adding field >#{name}< with type >#{type}<"
  @clazz.field( name, type )  ## auto-add getter and setter
end
float( name ) click to toggle source
# File lib/record/builder.rb, line 45
def float( name )
  logger.debug "  adding float number field >#{name}<"
  field( name, :float )
end
integer( name ) click to toggle source
# File lib/record/builder.rb, line 40
def integer( name )  ## use number for alias for integer - why? why not???
  logger.debug "  adding integer number field >#{name}<"
  field( name, :integer )
end
logger() click to toggle source
# File lib/record/builder.rb, line 22
def logger()  self.class.logger; end
string( name ) click to toggle source
# File lib/record/builder.rb, line 35
def string( name )
  logger.debug "  adding string field >#{name}<"
  field( name, :string )
end
to_record() click to toggle source
# File lib/record/builder.rb, line 51
def to_record   ## check: rename to just record or obj or finish or end something?
  @clazz
end