Class: Skygrepe::Condition

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

Instance Method Summary collapse

Constructor Details

#initialize(keyword) ⇒ Condition

Returns a new instance of Condition.



81
82
83
# File 'lib/skygrepe.rb', line 81

def initialize(keyword)
  @keyword = keyword
end

Instance Method Details

#count_sqlObject



94
95
96
97
98
# File 'lib/skygrepe.rb', line 94

def count_sql
  sql = "SELECT count(*) FROM Messages"
  sql << " WHERE body_xml like '%#{@keyword}%'"
  sql << ';'
end

#grep_sql(limit, offset) ⇒ Object



85
86
87
88
89
90
91
# File 'lib/skygrepe.rb', line 85

def grep_sql(limit, offset)
  sql = "SELECT m.id, m.timestamp, c.displayname, m.author, substr(m.body_xml, 1, 50) FROM Messages as m inner join Conversations as c on m.convo_id = c.id"
  sql << " WHERE body_xml like '%#{@keyword}%'"
  sql << " ORDER BY m.timestamp"
  sql << " LIMIT #{limit} OFFSET #{offset}"
  sql << ';'
end