Class: Chartspec::Db
- Inherits:
-
Object
- Object
- Chartspec::Db
- Defined in:
- lib/chartspec/db.rb
Instance Method Summary collapse
- #add(file, name, duration, measured_at = Time.now.to_i) ⇒ Object
- #all ⇒ Object
- #file_name ⇒ Object
-
#initialize(db = nil) ⇒ Db
constructor
A new instance of Db.
Constructor Details
#initialize(db = nil) ⇒ Db
Returns a new instance of Db.
5 6 7 8 9 10 11 12 13 |
# 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, name TEXT, duration NUMERIC, measured_at DATETIME);" ) end |
Instance Method Details
#add(file, name, duration, measured_at = Time.now.to_i) ⇒ Object
15 16 17 18 19 |
# File 'lib/chartspec/db.rb', line 15 def add(file, name, duration, measured_at = Time.now.to_i) @db.execute("INSERT INTO specs(file, name, duration, measured_at) VALUES (?, ?, ?, ?)", [ file, name, duration, measured_at ]) end |
#all ⇒ Object
21 22 23 |
# File 'lib/chartspec/db.rb', line 21 def all @db.execute( "select file, name, duration, measured_at from specs where measured_at > ?", (Time.now - ((ENV['CHARTSPEC_HISTORY_HOURS'] || 2)*3600)).to_i) end |
#file_name ⇒ Object
25 26 27 |
# File 'lib/chartspec/db.rb', line 25 def file_name @db_file end |