Class: Skypescraper::Extractor
- Inherits:
-
Object
- Object
- Skypescraper::Extractor
- Defined in:
- lib/skypescraper/extractor.rb
Constant Summary collapse
- CONVERSATIONS_SQL =
" SELECT id, COALESCE(displayname, meta_topic, identity) AS title\n FROM conversations\n WHERE id IN (\n SELECT DISTINCT(convo_id)\n FROM participants\n WHERE identity = ?\n )\n ORDER BY last_activity_timestamp DESC\n"
Class Method Summary collapse
Instance Method Summary collapse
- #connection ⇒ Object
- #conversations_for(identity) ⇒ Object
-
#initialize(database) ⇒ Extractor
constructor
A new instance of Extractor.
Constructor Details
#initialize(database) ⇒ Extractor
Returns a new instance of Extractor.
18 19 20 |
# File 'lib/skypescraper/extractor.rb', line 18 def initialize(database) self.class.connection = SQLite3::Database.new(database) end |
Class Method Details
.connection ⇒ Object
12 13 14 15 |
# File 'lib/skypescraper/extractor.rb', line 12 def connection raise 'You must establish a connection by calling Skypescraper::Extractor.new first' unless @db @db end |
.connection=(db) ⇒ Object
8 9 10 |
# File 'lib/skypescraper/extractor.rb', line 8 def connection=(db) @db = db end |
Instance Method Details
#connection ⇒ Object
22 23 24 |
# File 'lib/skypescraper/extractor.rb', line 22 def connection self.class.connection end |
#conversations_for(identity) ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/skypescraper/extractor.rb', line 36 def conversations_for(identity) return @conversations if @conversations @conversations = [] connection.execute(CONVERSATIONS_SQL, identity) do |row| @conversations << Skypescraper::Conversation.new(*row) end @conversations end |