Class: MongodbLogger::Adapers::Moped
- Inherits:
-
Base
- Object
- Base
- MongodbLogger::Adapers::Moped
show all
- Defined in:
- lib/mongodb_logger/adapters/moped.rb
Instance Attribute Summary
Attributes inherited from Base
#authenticated, #collection, #configuration, #connection, #connection_type
Instance Method Summary
collapse
Methods inherited from Base
#authenticated?, #check_for_collection, #collection_name, #collection_stats_hash, #rename_collection_command, #reset_collection
Constructor Details
#initialize(options = {}) ⇒ Moped
Returns a new instance of Moped.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/mongodb_logger/adapters/moped.rb', line 5
def initialize(options = {})
@configuration = options
if @configuration[:url]
uri = URI.parse(@configuration[:url])
@configuration[:database] = uri.path.gsub(/^\//, '')
@connection ||= mongo_connection_object
@connection.use @configuration[:database]
@authenticated = true
else
@connection ||= mongo_connection_object
@connection.use @configuration[:database]
if @configuration[:username] && @configuration[:password]
@authenticated = @connection.login(@configuration[:username],
@configuration[:password])
end
end
end
|
Instance Method Details
#calculate_mapreduce(map, reduce, params = {}) ⇒ Object
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/mongodb_logger/adapters/moped.rb', line 52
def calculate_mapreduce(map, reduce, params = {})
@connection.command(
mapreduce: collection_name,
map: map,
reduce: reduce,
query: params[:conditions],
out: { inline: true },
raw: true
).find()
end
|
#collection_stats ⇒ Object
33
34
35
|
# File 'lib/mongodb_logger/adapters/moped.rb', line 33
def collection_stats
collection_stats_hash(@connection.command(collStats: collection_name))
end
|
#create_collection ⇒ Object
24
25
26
|
# File 'lib/mongodb_logger/adapters/moped.rb', line 24
def create_collection
@connection.command(create: collection_name, capped: true, size: @configuration[:capsize].to_i)
end
|
#filter_by_conditions(filter) ⇒ Object
44
45
46
|
# File 'lib/mongodb_logger/adapters/moped.rb', line 44
def filter_by_conditions(filter)
@collection.find(filter.get_mongo_conditions).limit(filter.get_mongo_limit).sort('$natural' => -1)
end
|
#find_by_id(id) ⇒ Object
48
49
50
|
# File 'lib/mongodb_logger/adapters/moped.rb', line 48
def find_by_id(id)
@collection.find("_id" => bson_object_id.from_string(id)).first
end
|
#insert_log_record(record, options = {}) ⇒ Object
28
29
30
31
|
# File 'lib/mongodb_logger/adapters/moped.rb', line 28
def insert_log_record(record, options = {})
record[:_id] = bson_object_id.new
@connection.with(write: options[:write_options])[collection_name].insert(record)
end
|
#rename_collection(to, drop_target = false) ⇒ Object
37
38
39
40
41
|
# File 'lib/mongodb_logger/adapters/moped.rb', line 37
def rename_collection(to, drop_target = false)
@connection.with(database: "admin", consistency: :strong) do |session|
rename_collection_command(session, to, drop_target)
end
end
|