class Blazer::Adapters::MongodbAdapter
Public Instance Methods
preview_statement()
click to toggle source
# File lib/blazer/adapters/mongodb_adapter.rb, line 24 def preview_statement "db.{table}.find().limit(10)" end
run_statement(statement, comment)
click to toggle source
# File lib/blazer/adapters/mongodb_adapter.rb, line 4 def run_statement(statement, comment) columns = [] rows = [] error = nil begin documents = db.command({:$eval => "#{statement.strip}.toArray()", nolock: true}).documents.first["retval"] columns = documents.flat_map { |r| r.keys }.uniq rows = documents.map { |r| columns.map { |c| r[c] } } rescue => e error = e.message end [columns, rows, error] end
tables()
click to toggle source
# File lib/blazer/adapters/mongodb_adapter.rb, line 20 def tables db.collection_names end
Protected Instance Methods
client()
click to toggle source
# File lib/blazer/adapters/mongodb_adapter.rb, line 30 def client @client ||= Mongo::Client.new(settings["url"], connect_timeout: 1, socket_timeout: 1, server_selection_timeout: 1) end
db()
click to toggle source
# File lib/blazer/adapters/mongodb_adapter.rb, line 34 def db @db ||= client.database end