class Agents::Sqlite3WriteAgent

Public Instance Methods

default_options() click to toggle source
# File lib/huginn_sqlite3_agent/sqlite3_write_agent.rb, line 42
def default_options
  {
    'database_path' => '/path/to/some/sqlite3.db',
  }
end
receive(incoming_events) click to toggle source
# File lib/huginn_sqlite3_agent/sqlite3_write_agent.rb, line 56
def receive(incoming_events)
  memory['last_success'] = false

  db = SQLite3::Database.new options['database_path']
  incoming_events.each do |event|
    db.execute event.payload['query'], event.payload['parameters']
    log("Executed query '#{event.payload['query']}' with params: #{event.payload['parameters']}")
  end

  memory['last_success'] = true
end
validate_options() click to toggle source
# File lib/huginn_sqlite3_agent/sqlite3_write_agent.rb, line 34
def validate_options
  if options['database_path'].blank?
    errors.add(:database_path, 'cannot be blank')
  elsif !File.file?(options['database_path'])
    errors.add(:database_path, 'does not exist')
  end
end
working?() click to toggle source
# File lib/huginn_sqlite3_agent/sqlite3_write_agent.rb, line 48
def working?
  if memory['last_success'].nil?
    true
  else
    memory['last_success']
  end
end