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.



6
7
8
9
# File 'lib/jott/memo.rb', line 6

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



11
12
13
# File 'lib/jott/memo.rb', line 11

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

#clearObject



15
16
17
# File 'lib/jott/memo.rb', line 15

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

#countObject



19
20
21
# File 'lib/jott/memo.rb', line 19

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

#create(title:, body:) ⇒ Object



23
24
25
26
# File 'lib/jott/memo.rb', line 23

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

#delete(id:) ⇒ Object



28
29
30
# File 'lib/jott/memo.rb', line 28

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

#find(id) ⇒ Object



32
33
34
# File 'lib/jott/memo.rb', line 32

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

#lastObject



36
37
38
# File 'lib/jott/memo.rb', line 36

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

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



40
41
42
43
# File 'lib/jott/memo.rb', line 40

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