class Minitest::Perf::Persistence
Attributes
database_url[R]
Public Class Methods
new(database_url = Perf.database_url)
click to toggle source
# File lib/minitest/perf/persistence.rb, line 8 def initialize(database_url = Perf.database_url) @database_url = database_url end
Public Instance Methods
read_tests()
click to toggle source
# File lib/minitest/perf/persistence.rb, line 19 def read_tests db.execute("SELECT * FROM TESTS").map do |run, suite, name, total| Test.new(run, suite, name, total) end end
sql(query)
click to toggle source
# File lib/minitest/perf/persistence.rb, line 25 def sql(query) db.execute query end
write(test)
click to toggle source
# File lib/minitest/perf/persistence.rb, line 12 def write(test) db.execute <<-SQL, [test.run.to_s, test.suite, test.name, test.total] INSERT INTO tests (run, suite, name, total) VALUES (?, ?, ?, ?) SQL end
Private Instance Methods
db()
click to toggle source
# File lib/minitest/perf/persistence.rb, line 31 def db @db ||= begin db = SQLite3::Database.new sqlite3_db_name db.execute <<-SQL create table if not exists tests ( run varchar(255), suite varchar(255), name varchar(255), total float ); SQL db end end
sqlite3_db_name()
click to toggle source
Use a simple regexp, because for now, only sqlite3 is supported.
# File lib/minitest/perf/persistence.rb, line 48 def sqlite3_db_name @database_url.scan(/sqlite3:\/\/localhost\/(.+)/)[0][0] end