class Personal::DbPersistence
Attributes
db[R]
Public Class Methods
new(db_handle)
click to toggle source
# File lib/personal.rb, line 39 def initialize(db_handle) @db = db_handle end
Public Instance Methods
close_db()
click to toggle source
# File lib/personal.rb, line 43 def close_db @db.close unless @db.closed? end
create_entry(data)
click to toggle source
# File lib/personal.rb, line 47 def create_entry(data) @db.execute("insert into personal(created_at, data) values(CURRENT_TIMESTAMP, ?)", data) end
delete_entry(id)
click to toggle source
# File lib/personal.rb, line 55 def delete_entry(id) @db.execute("delete from personal where id = ?", id) end
entries_by_year_and_month(year, month)
click to toggle source
# File lib/personal.rb, line 67 def entries_by_year_and_month(year, month) @db.execute("select * from (select * from personal where cast(strftime('%Y', created_at) as integer) = ? and cast(strftime('%m', created_at) as integer) = ? order by created_at DESC) order by created_at ASC", year, month) end
entries_by_year_month_day(year, month, day)
click to toggle source
# File lib/personal.rb, line 71 def entries_by_year_month_day(year, month, day) @db.execute("select * from (select * from personal where cast(strftime('%Y', created_at) as integer) = ? and cast(strftime('%m', created_at) as integer) = ? and cast(strftime('%d', created_at) as integer) = ? order by created_at DESC) order by created_at ASC", year, month, day) end
find(some_text)
click to toggle source
# File lib/personal.rb, line 63 def find(some_text) @db.execute("select * from (select * from personal where data like ? order by created_at desc) order by created_at ASC", "%" + some_text + "%") end
latest_entries(limit = 10)
click to toggle source
# File lib/personal.rb, line 59 def latest_entries(limit = 10) @db.execute("select * from (select * from personal order by created_at desc limit ?) order by created_at ASC", limit) end
latest_entry()
click to toggle source
# File lib/personal.rb, line 51 def latest_entry @db.execute('select * from personal order by created_at DESC limit 1') end