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