Class: Robotwitter::Db
- Inherits:
-
Object
- Object
- Robotwitter::Db
- Defined in:
- lib/robotwitter/db.rb
Constant Summary collapse
- TABLENAME =
'retweeted'
Instance Method Summary collapse
-
#create_db(name) ⇒ Object
create database.
-
#exists?(name) ⇒ Boolean
check if database exists.
-
#initialize(name, path) ⇒ Db
constructor
A new instance of Db.
-
#retweeted?(result) ⇒ Boolean
already retweeted this post.
-
#save_retweet(result) ⇒ Object
сохраняем ретвитт, чтобы не ретвиттить снова result - результат twitter.search.
Constructor Details
#initialize(name, path) ⇒ Db
Returns a new instance of Db.
24 25 26 27 |
# File 'lib/robotwitter/db.rb', line 24 def initialize(name, path) create_db("#{path}/#{name}") unless exists? "#{path}/#{name}" @db = SQLite3::Database.new "#{path}/#{name}.db" end |
Instance Method Details
#create_db(name) ⇒ Object
create database
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/robotwitter/db.rb', line 11 def create_db(name) db = SQLite3::Database.new("#{name}.db") sql = <<-SQL create table #{TABLENAME} ( id integer PRIMARY KEY AUTOINCREMENT, tweet_id string ); SQL db.execute_batch(sql) end |
#exists?(name) ⇒ Boolean
check if database exists
6 7 8 |
# File 'lib/robotwitter/db.rb', line 6 def exists?(name) File.exist?("#{name}.db") end |
#retweeted?(result) ⇒ Boolean
already retweeted this post
30 31 32 33 34 |
# File 'lib/robotwitter/db.rb', line 30 def retweeted? result sql = "select 1 from #{TABLENAME} where tweet_id = '#{result['id_str']}'" res = @db.get_first_row(sql) !res.nil? end |
#save_retweet(result) ⇒ Object
сохраняем ретвитт, чтобы не ретвиттить снова result - результат twitter.search
38 39 40 41 42 |
# File 'lib/robotwitter/db.rb', line 38 def save_retweet result id = result.attrs['id_str'] sql = "insert into #{TABLENAME} (tweet_id) values (#{id})" @db.query(sql) end |