Class: SportDB::Templater

Inherits:
Object
  • Object
show all
Includes:
Models
Defined in:
lib/sportdb/templater.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger) ⇒ Templater

Returns a new instance of Templater.



30
31
32
33
34
35
36
37
# File 'lib/sportdb/templater.rb', line 30

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

Instance Attribute Details

#eventObject (readonly)

make props available for template



56
57
58
# File 'lib/sportdb/templater.rb', line 56

def event
  @event
end

#loggerObject (readonly)

Returns the value of attribute logger.



39
40
41
# File 'lib/sportdb/templater.rb', line 39

def logger
  @logger
end

Instance Method Details

#gen_fixtures(event_key, name) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/sportdb/templater.rb', line 58

def gen_fixtures( event_key, name )

  @event = Event.find_by_key!( event_key )
  
  puts "Event #{@event.key} >#{@event.title}<"

  ## todo: honor -o/--output option ??

  dest = "#{name}.rb"
  
  ## todo: check if path (parent dirs) exits?
  
  source = "#{SportDB.root}/templates/fixtures.rb.erb"

  puts " Merging template #{source} to #{dest}..."

  out = File.new( dest, 'w+' )
  out << Template.new( source ).render( binding )
  out.flush
  out.close
end

#run(opts, args) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/sportdb/templater.rb', line 41

def run( opts, args )
 
  ## assume active activerecord connection
  ##
   
  args.each do |arg|
    ## name = File.basename( arg, '.*' )
    name = arg
    gen_fixtures( opts.event, name )
  end

end