Class: SportDB::Market::Reader

Inherits:
Object
  • Object
show all
Includes:
FixtureHelpers, SportDB::Models
Defined in:
lib/sportdb/market/reader.rb

Overview

load quotes from plain text files

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeReader

Returns a new instance of Reader.



13
14
15
16
# File 'lib/sportdb/market/reader.rb', line 13

def initialize
  @logger = Logger.new(STDOUT)
  @logger.level = Logger::INFO
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



18
19
20
# File 'lib/sportdb/market/reader.rb', line 18

def logger
  @logger
end

Instance Method Details

#load_builtin(service_key, event_key, name) ⇒ Object

load from gem (built-in)



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/sportdb/market/reader.rb', line 32

def load_builtin( service_key, event_key, name ) # load from gem (built-in)
  path = "#{SportDB::Market.root}/db/#{name}.txt"

  puts "*** parsing data '#{name}' (#{path})..."

  reader = LineReader.new( logger, path )
  
  load_worker( service_key, event_key, reader )

  Prop.create!( key: "db.#{fixture_name_to_prop_key(name)}.version", value: "sport.market.txt.#{SportDB::Market::VERSION}" )
end

#load_with_include_path(service_key, event_key, name, include_path) ⇒ Object

load from file system



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sportdb/market/reader.rb', line 20

def load_with_include_path( service_key, event_key, name, include_path )  # load from file system
  path = "#{include_path}/#{name}.txt"

  puts "*** parsing data '#{name}' (#{path})..."

  reader = LineReader.new( logger, path )
  
  load_worker( service_key, event_key, reader )
  
  Prop.create!( key: "db.#{fixture_name_to_prop_key(name)}.version", value: "file.txt.#{File.mtime(path).strftime('%Y.%m.%d')}" )
end