class Chartspec::Db
Public Class Methods
new(db = nil)
click to toggle source
# File lib/chartspec/db.rb, line 5 def initialize db = nil @db_file = db || "tmp/chartspec.sqlite3" db_dirname = File.dirname(@db_file) unless File.directory?(db_dirname) FileUtils.mkdir_p(db_dirname) end @db = SQLite3::Database.new @db_file @db.execute( "CREATE TABLE IF NOT EXISTS specs(id INTEGER PRIMARY KEY, file TEXT, chart TEXT, name TEXT, duration NUMERIC, measured_at DATETIME);" ) end
Public Instance Methods
add(file, chart, name, duration, measured_at = Time.now.to_i)
click to toggle source
# File lib/chartspec/db.rb, line 15 def add(file, chart, name, duration, measured_at = Time.now.to_i) @db.execute("INSERT INTO specs(file, chart, name, duration, measured_at) VALUES (?, ?, ?, ?, ?)", [ file, chart.to_s, name, duration, measured_at ]) end
file_name()
click to toggle source
# File lib/chartspec/db.rb, line 27 def file_name @db_file end
select_by_file_and_chart(file, chart)
click to toggle source
# File lib/chartspec/db.rb, line 21 def select_by_file_and_chart(file, chart) @db.execute( "select name, duration, measured_at from specs where file = ? and chart = ? and measured_at > ?", [ file, chart.to_s, (Time.now - ((ENV['CHARTSPEC_HISTORY_HOURS'] || 8)*3600)).to_i ]) end