Class: CodeReader

Inherits:
Object
  • Object
show all
Defined in:
lib/worlddb/readers/code_reader.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger = nil, path) ⇒ CodeReader

Returns a new instance of CodeReader.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/worlddb/readers/code_reader.rb', line 5

def initialize( logger=nil, path )
  if logger.nil?
    @logger = Logger.new(STDOUT)
    @logger.level = Logger::INFO
  else
    @logger = logger
  end

  @path  = path

  ## nb: assume/enfore utf-8 encoding (with or without BOM - byte order mark)
  ## - see worlddb/utils.rb
  
  @code  = File.read_utf8( @path )
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



32
33
34
# File 'lib/worlddb/readers/code_reader.rb', line 32

def logger
  @logger
end

Instance Method Details

#eval(klass) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/worlddb/readers/code_reader.rb', line 21

def eval( klass )
  klass.class_eval( @code )

  # NB: same as
  #
  # module WorldDB
  #   include WorldDB::Models
  #  <code here>
  # end
end