Class: Record::Builder
- Inherits:
-
Object
- Object
- Record::Builder
- Defined in:
- lib/record/builder.rb
Overview
check: rename to RecordDefinition or RecordDsl or similar - why? why not?
Class Method Summary collapse
-
.build_logger ⇒ Object
add simple logger with debug flag/switch.
- .logger ⇒ Object
Instance Method Summary collapse
-
#field(name, type = :string) ⇒ Object
note: type defaults to string.
- #float(name) ⇒ Object
-
#initialize(super_class = Base) ⇒ Builder
constructor
A new instance of Builder.
-
#integer(name) ⇒ Object
use number for alias for integer - why? why not???.
- #logger ⇒ Object
- #string(name) ⇒ Object
-
#to_record ⇒ Object
check: rename to just record or obj or finish or end something?.
Constructor Details
#initialize(super_class = Base) ⇒ Builder
Returns a new instance of Builder.
26 27 28 |
# File 'lib/record/builder.rb', line 26 def initialize( super_class=Base ) @clazz = Class.new( super_class ) end |
Class Method Details
.build_logger ⇒ Object
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?
16 17 18 19 20 |
# 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 ⇒ Object
21 |
# File 'lib/record/builder.rb', line 21 def self.logger() @@logger ||= build_logger; end |
Instance Method Details
#field(name, type = :string) ⇒ Object
note: type defaults to string
30 31 32 33 |
# 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) ⇒ Object
45 46 47 48 |
# File 'lib/record/builder.rb', line 45 def float( name ) logger.debug " adding float number field >#{name}<" field( name, :float ) end |
#integer(name) ⇒ Object
use number for alias for integer - why? why not???
40 41 42 43 |
# 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 ⇒ Object
22 |
# File 'lib/record/builder.rb', line 22 def logger() self.class.logger; end |
#string(name) ⇒ Object
35 36 37 38 |
# File 'lib/record/builder.rb', line 35 def string( name ) logger.debug " adding string field >#{name}<" field( name, :string ) end |
#to_record ⇒ Object
check: rename to just record or obj or finish or end something?
51 52 53 |
# File 'lib/record/builder.rb', line 51 def to_record ## check: rename to just record or obj or finish or end something? @clazz end |