Class: DB

Inherits:
Object
  • Object
show all
Includes:
Timer
Defined in:
lib/db.rb

Direct Known Subclasses

Notes, Subtasks, Tasks

Constant Summary collapse

@@logged =
true

Instance Method Summary collapse

Methods included from Timer

#last_mon, #now

Constructor Details

#initialize(db = Sequel.sqlite("#{File.expand_path(File.dirname(__FILE__))}/../db/potam.db")) ⇒ DB

Returns a new instance of DB.



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/db.rb', line 9

def initialize(db = Sequel.sqlite("#{File.expand_path(File.dirname(__FILE__))}/../db/potam.db"))
  @db = db
  table_name = self.class.name.downcase
  @record_name = table_name[0..-2]
  self.class.__send__(:attr_reader, "new_#{@record_name}_id")
  # @db = db
  # instance_variable_set('@table', db[:"#{table_name}"])
  @table = @db[:"#{table_name}"]
  # Sequel.sqlite("#{File.expand_path(File.dirname(__FILE__))}/../test/test.db")
  # @db = db
  # @tasks = @db[:tasks]
end

Instance Method Details

#create(record) ⇒ Object



22
23
24
25
# File 'lib/db.rb', line 22

def create(record)
  record[:created_at] = now if @@logged
  instance_variable_set("@new_#{@record_name}_id", @table.insert(record))
end

#info(id) ⇒ Object



42
43
44
# File 'lib/db.rb', line 42

def info(id)
  @table.where("id = ?", id.to_i).first
end

#last(task_id = false) ⇒ Object

def create(options = {})

options.each do |key, value|
  instance_variable_set("@#{key}", value)
end
@new_task_id = @tasks.insert(title: @title, description: @description, created_at: @created_at)

end



34
35
36
# File 'lib/db.rb', line 34

def last(task_id = false)
  select_by_task_id(task_id).order(Sequel.desc(:id)).limit(10).all
end

#list(task_id = false) ⇒ Object



38
39
40
# File 'lib/db.rb', line 38

def list(task_id = false)
  select_by_task_id(task_id).order(Sequel.desc(:id)).all
end