mm-optimistic_locking 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Rakefile +5 -0
- data/lib/mm-optimistic_locking.rb +17 -0
- data/lib/mongo_mapper/stale_document_error.rb +7 -0
- data/mm-optimistic_locking.gemspec +37 -0
- metadata +116 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'mongo_mapper'
|
2
|
+
|
3
|
+
module MongoMapper
|
4
|
+
autoload :StaleDocumentError, "mongo_mapper/stale_document_error"
|
5
|
+
|
6
|
+
module Plugins
|
7
|
+
autoload :OptimisticLocking, "mongo_mapper/plugins/optimistic_locking.rb"
|
8
|
+
end
|
9
|
+
|
10
|
+
module Plugins
|
11
|
+
module Querying
|
12
|
+
module InstanceMethods
|
13
|
+
include MongoMapper::Plugins::OptimisticLocking::QueryingInterceptor
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "mm-optimistic_locking"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "mm-optimistic_locking"
|
7
|
+
s.version = MongoMapper::Plugins::OptimisticLocking::VERSION
|
8
|
+
s.authors = ["Andy Lindeman"]
|
9
|
+
s.email = ["andy@highgroove.com"]
|
10
|
+
s.homepage = "http://github.com/highgroove/mm-optimistic_locking"
|
11
|
+
s.summary = %q{Implements optimistic locking (similar to ActiveRecord) for MongoMapper}
|
12
|
+
s.description = %q{Before a record is saved, mm-optimistic_locking will check if it has been modified by another process. If so, a StaleDocumentError will be raised. The object can be reloaded and resaved after the conflict has been resolved.}
|
13
|
+
|
14
|
+
s.files = [
|
15
|
+
".gitignore",
|
16
|
+
"Gemfile",
|
17
|
+
"Rakefile",
|
18
|
+
"lib/mm-optimistic_locking.rb",
|
19
|
+
"lib/mongo_mapper/stale_document_error.rb",
|
20
|
+
"mm-optimistic_locking.gemspec",
|
21
|
+
]
|
22
|
+
|
23
|
+
s.test_files = [
|
24
|
+
]
|
25
|
+
|
26
|
+
s.executables = [
|
27
|
+
]
|
28
|
+
|
29
|
+
s.require_paths = ["lib"]
|
30
|
+
|
31
|
+
s.add_dependency 'mongo_mapper', '~>0.9.0'
|
32
|
+
s.add_dependency 'activesupport', '~>3.0'
|
33
|
+
|
34
|
+
s.add_development_dependency 'rake', '~>0.8.7'
|
35
|
+
s.add_development_dependency 'rspec', '~>2.6.0'
|
36
|
+
s.add_development_dependency 'database_cleaner', '~>0.6.7'
|
37
|
+
end
|
metadata
ADDED
@@ -0,0 +1,116 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: mm-optimistic_locking
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.1
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Andy Lindeman
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-06-27 00:00:00 -04:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: mongo_mapper
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ~>
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.9.0
|
25
|
+
type: :runtime
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ~>
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: "3.0"
|
36
|
+
type: :runtime
|
37
|
+
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: rake
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 0.8.7
|
47
|
+
type: :development
|
48
|
+
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: rspec
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ~>
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 2.6.0
|
58
|
+
type: :development
|
59
|
+
version_requirements: *id004
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: database_cleaner
|
62
|
+
prerelease: false
|
63
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.6.7
|
69
|
+
type: :development
|
70
|
+
version_requirements: *id005
|
71
|
+
description: Before a record is saved, mm-optimistic_locking will check if it has been modified by another process. If so, a StaleDocumentError will be raised. The object can be reloaded and resaved after the conflict has been resolved.
|
72
|
+
email:
|
73
|
+
- andy@highgroove.com
|
74
|
+
executables: []
|
75
|
+
|
76
|
+
extensions: []
|
77
|
+
|
78
|
+
extra_rdoc_files: []
|
79
|
+
|
80
|
+
files:
|
81
|
+
- .gitignore
|
82
|
+
- Gemfile
|
83
|
+
- Rakefile
|
84
|
+
- lib/mm-optimistic_locking.rb
|
85
|
+
- lib/mongo_mapper/stale_document_error.rb
|
86
|
+
- mm-optimistic_locking.gemspec
|
87
|
+
has_rdoc: true
|
88
|
+
homepage: http://github.com/highgroove/mm-optimistic_locking
|
89
|
+
licenses: []
|
90
|
+
|
91
|
+
post_install_message:
|
92
|
+
rdoc_options: []
|
93
|
+
|
94
|
+
require_paths:
|
95
|
+
- lib
|
96
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: "0"
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
104
|
+
requirements:
|
105
|
+
- - ">="
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: "0"
|
108
|
+
requirements: []
|
109
|
+
|
110
|
+
rubyforge_project:
|
111
|
+
rubygems_version: 1.6.2
|
112
|
+
signing_key:
|
113
|
+
specification_version: 3
|
114
|
+
summary: Implements optimistic locking (similar to ActiveRecord) for MongoMapper
|
115
|
+
test_files: []
|
116
|
+
|