Class: Memo

Inherits:
Object
  • Object
show all
Defined in:
lib/jott/memo.rb

Instance Method Summary collapse

Constructor Details

#initializeMemo

Returns a new instance of Memo.



4
5
6
7
# File 'lib/jott/memo.rb', line 4

def initialize
  @db = SQLite3::Database.new(File.join(File.dirname(__FILE__), "jott.db"))
  @db.execute("CREATE TABLE IF NOT EXISTS memos(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, body TEXT)")
end

Instance Method Details

#allObject



9
10
11
# File 'lib/jott/memo.rb', line 9

def all
  @db.execute("SELECT * FROM memos")
end

#clearObject



13
14
15
# File 'lib/jott/memo.rb', line 13

def clear
  @db.execute("DROP TABLE memos")
end

#countObject



17
18
19
# File 'lib/jott/memo.rb', line 17

def count
  @db.execute("SELECT COUNT(id) FROM memos")
end

#create(title:, body:) ⇒ Object



21
22
23
24
# File 'lib/jott/memo.rb', line 21

def create(title:, body:)
  title = title.gsub(/\n/, "")
  @db.execute("INSERT INTO memos(title, body) VALUES (?, ?)", [title, body])
end

#delete(id:) ⇒ Object



26
27
28
# File 'lib/jott/memo.rb', line 26

def delete(id:)
  @db.execute("DELETE FROM memos WHERE id = ?", id)
end

#find(id) ⇒ Object



30
31
32
# File 'lib/jott/memo.rb', line 30

def find(id)
  @db.execute("SELECT * FROM memos WHERE id = ?", id)
end

#lastObject



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

def last
  @db.execute("SELECT max(id), * FROM memos")
end

#update(id:, title:, body:) ⇒ Object



38
39
40
41
# File 'lib/jott/memo.rb', line 38

def update(id:, title:, body:)
  title = title.gsub(/\n/, "")
  @db.execute("UPDATE memos SET title = ?, body = ? WHERE id = ?", [title, body, id])
end