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