replace moped (mongodb driver) by the official mongodb driver

did committed Nov 16, 2015
commit d24d5d356ceb296f3e3731bafdf828445856795b
Showing 9 changed files with 23 additions and 28 deletions
Gemfile.lock +2 -6
@@ @@ -15,7 +15,7 @@ PATH
mime-types (~> 2.6.1)
mimetype-fu (~> 0.1.2)
moneta (~> 0.8.0)
- moped (~> 2.0.6)
+ mongo (~> 2.1.2)
morphine (~> 0.1.1)
origin (~> 2.1.1)
rack-cache (~> 1.2)
@@ @@ -65,7 +65,6 @@ GEM
sass (>= 3.3.0, < 3.5)
compass-import-once (1.0.5)
sass (>= 3.2, < 3.5)
- connection_pool (2.2.0)
coveralls (0.8.1)
json (~> 1.8)
rest-client (>= 1.6.8, < 2)
@@ @@ -123,10 +122,8 @@ GEM
mini_portile (0.6.2)
minitest (5.8.2)
moneta (0.8.0)
- moped (2.0.7)
+ mongo (2.1.2)
bson (~> 3.0)
- connection_pool (~> 2.0)
- optionable (~> 0.2.0)
morphine (0.1.1)
multi_json (1.11.1)
multi_xml (0.5.5)
@@ @@ -135,7 +132,6 @@ GEM
mini_portile (~> 0.6.0)
nokogumbo (1.4.1)
nokogiri
- optionable (0.2.0)
origin (2.1.1)
pry (0.10.1)
coderay (~> 1.1.0)
locomotive/steam/adapters/mongodb.rb b/lib/locomotive/steam/adapters/mongodb.rb +6 -7
@@ @@ -1,4 +1,4 @@
- require 'moped'
+ require 'mongo'
require 'origin'
require_relative 'mongodb/origin'
@@ @@ -82,13 +82,12 @@ module Locomotive::Steam
end
def session
- Thread.current[:moped_session] ||= if uri
- Moped::Session.connect(uri)
+ Thread.current[:mongo_session] ||= if uri
+ Mongo::Client.new(uri)
else
- Moped::Session.new([*hosts]).tap do |session|
- session.use database
- session.login(username, password) if username && password
- end
+ client = Mongo::Client.new([*hosts], database: database)
+ client = client.with(user: username, password: password) if username && password
+ client
end
end
locomotive/steam/adapters/mongodb/command.rb b/lib/locomotive/steam/adapters/mongodb/command.rb +2 -2
@@ @@ -15,13 +15,13 @@ module Locomotive::Steam
serialized_entity = @mapper.serialize(entity)
- @collection.insert(serialized_entity)
+ @collection.insert_one(serialized_entity)
entity
end
def delete(entity)
- @collection.find(_id: entity._id).remove if entity._id
+ @collection.find(_id: entity._id).delete_one if entity._id
end
end
locomotive/steam/adapters/mongodb/query.rb b/lib/locomotive/steam/adapters/mongodb/query.rb +7 -6
@@ @@ -47,12 +47,13 @@ module Locomotive::Steam
_query = to_origin
selector, fields, sort = _query.selector, _query.options[:fields], _query.options[:sort]
- collection.find(selector).tap do |results|
- results.sort(sort) if sort
- results.select(fields) if fields
- results.skip(@skip) if @skip
- results.limit(@limit) if @limit
- end
+ results = collection.find(selector)
+ results = results.sort(sort) if sort
+ results = results.projection(fields) if fields
+ results = results.skip(@skip) if @skip
+ results = results.limit(@limit) if @limit
+
+ results
end
def to_origin
locomotive/steam/server.rb b/lib/locomotive/steam/server.rb +1 -1
@@ @@ -13,7 +13,7 @@ require 'dragonfly/middleware'
require_relative 'middlewares'
if ENV['PROFILER']
- require 'moped'
+ require 'mongo'
require 'rack-mini-profiler'
end
locomotivecms_steam.gemspec +1 -1
@@ @@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'bundler', '~> 1.7'
spec.add_development_dependency 'rake', '~> 10.4.2'
- spec.add_dependency 'moped', '~> 2.0.6'
+ spec.add_dependency 'mongo', '~> 2.1.2'
spec.add_dependency 'origin', '~> 2.1.1'
spec.add_dependency 'sanitize', '~> 4.0.0'
spec/integration/repositories/page_repository_spec.rb +0 -5
@@ @@ -5,11 +5,6 @@ require_relative '../../../lib/locomotive/steam/adapters/mongodb.rb'
describe Locomotive::Steam::PageRepository do
- # before(:all) do
- # Moped.logger = Logger.new($stdout)
- # Moped.logger.level = Logger::DEBUG
- # end
-
shared_examples_for 'a repository' do
let(:site) { Locomotive::Steam::Site.new(_id: site_id, locales: %w(en fr nb)) }
spec/support.rb +1 -0
@@ @@ -6,3 +6,4 @@ require_relative 'support/examples/matching_locale'
require_relative 'support/examples/locale_file'
require_relative 'support/time'
require_relative 'support/pry'
+ require_relative 'support/mongo'
spec/support/mongo.rb +3 -0
@@ @@ -0,0 +1,3 @@
+ require 'mongo'
+
+ Mongo::Logger.logger.level = Logger::INFO # DEBUG # INFO