Skip to content
This repository has been archived by the owner on Jul 20, 2021. It is now read-only.

Mongoid 3.0 #6

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ spec/reports
test/tmp
test/version_tmp
tmp
*un~
13 changes: 7 additions & 6 deletions lib/mongoid-sequence.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ def sequence(field)
end

def set_sequence
sequences = self.db.collection("__sequences")
self.class.sequence_fields.each do |field|
next_sequence = sequences.find_and_modify(:query => {"_id" => "#{self.class.name.underscore}_#{field}"},
:update => {"$inc" => {"seq" => 1}},
:new => true,
:upsert => true)
next_sequence = self.class.collection.
database.session.command(findAndModify: "__sequences",
query: {"_id" => "#{self.class.name.underscore}_#{field}"},
update: {"$inc" => {"seq" => 1}},
new: true,
upsert: true)

self[field] = next_sequence["seq"]
self[field] = next_sequence["value"]["seq"]
end if self.class.sequence_fields
end
end
Expand Down
2 changes: 1 addition & 1 deletion lib/mongoid-sequence/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Mongoid
module Sequence
VERSION = "0.1"
VERSION = "0.1.1"
end
end
2 changes: 1 addition & 1 deletion mongoid-sequence.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Gem::Specification.new do |gem|
gem.summary = %q{Specify fields to behave like a sequence number (exactly like the "id" column in conventional SQL flavors).}
gem.homepage = "https://github.com/goncalossilva/mongoid-sequence"

gem.add_dependency("mongoid", "~> 2.0")
gem.add_dependency("mongoid", "~> 3.0")
gem.add_dependency("activesupport", "~> 3.1")
gem.add_development_dependency("rake", "~> 0.9")

Expand Down
16 changes: 16 additions & 0 deletions test/mongoid.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
test:
sessions:
default:
hosts:
- localhost:27017
database: mongoid_sequence_test
options:
allow_dynamic_fields: false
identity_map_enabled: true
include_root_in_json: true
include_type_for_serialization: true
scope_overwrite_exception: true
raise_not_found_error: false
skip_version_check: false
use_activesupport_time_zone: false
use_utc: true
8 changes: 3 additions & 5 deletions test/test_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,15 @@

require File.expand_path("../../lib/mongoid-sequence", __FILE__)

Mongoid.configure do |config|
name = "mongoid_sequence_test"
config.master = Mongo::Connection.new.db(name)
end
Mongoid.load!("#{File.dirname(__FILE__)}/mongoid.yml", :test)


Dir["#{File.dirname(__FILE__)}/models/*.rb"].each { |f| require f }

class BaseTest < Test::Unit::TestCase
def test_default; end # Avoid "No tests were specified." on 1.8.7

def teardown
Mongoid.master.collections.select {|c| c.name !~ /system/ }.each(&:remove)
Mongoid.default_session.collections.select { |c| c.name !~ /system/ }.each(&:drop)
end
end