money-mongoid 0.2.1 → 0.2.2
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/Gemfile +7 -7
- data/Gemfile.lock +7 -7
- data/README.md +8 -2
- data/VERSION +1 -1
- data/lib/money/mongoid.rb +1 -0
- data/lib/money/mongoid/3x/money.rb +2 -2
- data/lib/money/mongoid/core_ext/range.rb +0 -13
- data/money-mongoid.gemspec +15 -12
- data/spec/money/mongoid/2x/money_spec.rb +7 -2
- metadata +28 -12
data/Gemfile
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
-
source
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
gem 'money'
|
4
|
-
gem 'mongoid', "
|
5
|
-
gem 'origin'
|
6
|
-
gem 'moped'
|
4
|
+
gem 'mongoid', ">= 2.4"
|
5
|
+
gem 'origin', '>= 1'
|
6
|
+
gem 'moped', '>= 1'
|
7
7
|
gem 'origin-selectable_ext'
|
8
|
+
gem 'sugar-high', '>= 0.7.2'
|
8
9
|
|
9
10
|
# gem 'mongoid', "~> 2.4"
|
10
11
|
# gem 'bson'
|
@@ -18,7 +19,6 @@ group :development do
|
|
18
19
|
gem "simplecov",">= 0.5"
|
19
20
|
end
|
20
21
|
|
21
|
-
group :test do
|
22
|
-
gem '
|
23
|
-
gem 'bson_ext'
|
22
|
+
group :test do
|
23
|
+
gem 'bson'
|
24
24
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
GEM
|
2
|
-
remote:
|
2
|
+
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
4
|
activemodel (3.2.8)
|
5
5
|
activesupport (= 3.2.8)
|
@@ -8,8 +8,6 @@ GEM
|
|
8
8
|
i18n (~> 0.6)
|
9
9
|
multi_json (~> 1.0)
|
10
10
|
bson (1.7.0)
|
11
|
-
bson_ext (1.7.0)
|
12
|
-
bson (~> 1.7.0)
|
13
11
|
builder (3.0.3)
|
14
12
|
diff-lcs (1.1.3)
|
15
13
|
git (1.2.5)
|
@@ -48,20 +46,22 @@ GEM
|
|
48
46
|
multi_json (~> 1.0)
|
49
47
|
simplecov-html (~> 0.5.3)
|
50
48
|
simplecov-html (0.5.3)
|
49
|
+
sugar-high (0.7.3)
|
51
50
|
tzinfo (0.3.33)
|
52
51
|
|
53
52
|
PLATFORMS
|
54
53
|
ruby
|
55
54
|
|
56
55
|
DEPENDENCIES
|
57
|
-
|
56
|
+
bson
|
58
57
|
bundler (>= 1.1.0)
|
59
58
|
jeweler (>= 1.8.4)
|
60
59
|
money
|
61
|
-
mongoid (
|
62
|
-
moped
|
63
|
-
origin
|
60
|
+
mongoid (>= 2.4)
|
61
|
+
moped (>= 1)
|
62
|
+
origin (>= 1)
|
64
63
|
origin-selectable_ext
|
65
64
|
rdoc (>= 3.12)
|
66
65
|
rspec (>= 2.10)
|
67
66
|
simplecov (>= 0.5)
|
67
|
+
sugar-high (>= 0.7.2)
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Money for mongoid
|
2
2
|
|
3
|
-
Use the [money](https://github.com/RubyMoney/money) gem with Mongoid 2.
|
3
|
+
Use the [money](https://github.com/RubyMoney/money) gem with Mongoid 2.4+, 3 (and 4).
|
4
4
|
|
5
5
|
## Install
|
6
6
|
|
@@ -18,12 +18,18 @@ Bundle via Terminal:
|
|
18
18
|
|
19
19
|
```ruby
|
20
20
|
require 'money-mongoid'
|
21
|
-
|
21
|
+
```
|
22
22
|
|
23
23
|
Now also supports MoneyRange with between queries and can even do dynamic currency conversions as part of the query!!! ;)
|
24
24
|
|
25
25
|
See specs for usage examples, fx `money/mongoid/3x/money_spec.rb`
|
26
26
|
|
27
|
+
## Spec note
|
28
|
+
|
29
|
+
Please note that currently the `money/mongoid/monetize_spec.rb` fails with a number of errors. Please help fix these bugs
|
30
|
+
|
31
|
+
However the `2x` and `3x` specs should pass just fine ;)
|
32
|
+
|
27
33
|
## Contributing to money-mongoid
|
28
34
|
|
29
35
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.2
|
data/lib/money/mongoid.rb
CHANGED
@@ -10,11 +10,11 @@ module Mongoize
|
|
10
10
|
|
11
11
|
module ClassMethods
|
12
12
|
def demongoize(value)
|
13
|
-
::Money.new get_cents(value), get_currency(value)
|
13
|
+
value && ::Money.new( get_cents(value), get_currency(value) )
|
14
14
|
end
|
15
15
|
|
16
16
|
def evolve(object)
|
17
|
-
object.__evolve_to_money__.mongoize
|
17
|
+
object && object.__evolve_to_money__.mongoize
|
18
18
|
end
|
19
19
|
|
20
20
|
def custom_serialization?(operator)
|
@@ -18,19 +18,6 @@ class Money
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
# http://blog.jayfields.com/2008/02/ruby-replace-methodmissing-with-dynamic.html
|
22
|
-
class DelegateDecorator
|
23
|
-
def initialize(subject)
|
24
|
-
subject.public_methods(false).each do |meth|
|
25
|
-
(class << self; self; end).class_eval do
|
26
|
-
define_method meth do |*args|
|
27
|
-
subject.send meth, *args
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
21
|
class MoneyRange < DelegateDecorator
|
35
22
|
attr_reader :iso_code, :range
|
36
23
|
|
data/money-mongoid.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "money-mongoid"
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kristian Mandrup"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2013-02-27"
|
13
13
|
s.description = "Makes it easy to use money with mongoid"
|
14
14
|
s.email = "kmandrup@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -56,7 +56,7 @@ Gem::Specification.new do |s|
|
|
56
56
|
s.homepage = "http://github.com/kristianmandrup/money-mongoid"
|
57
57
|
s.licenses = ["MIT"]
|
58
58
|
s.require_paths = ["lib"]
|
59
|
-
s.rubygems_version = "1.8.
|
59
|
+
s.rubygems_version = "1.8.25"
|
60
60
|
s.summary = "Mongoid support and integration for the money gem"
|
61
61
|
|
62
62
|
if s.respond_to? :specification_version then
|
@@ -64,10 +64,11 @@ Gem::Specification.new do |s|
|
|
64
64
|
|
65
65
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
66
66
|
s.add_runtime_dependency(%q<money>, [">= 0"])
|
67
|
-
s.add_runtime_dependency(%q<mongoid>, ["
|
68
|
-
s.add_runtime_dependency(%q<origin>, [">=
|
69
|
-
s.add_runtime_dependency(%q<moped>, [">=
|
67
|
+
s.add_runtime_dependency(%q<mongoid>, [">= 2.4"])
|
68
|
+
s.add_runtime_dependency(%q<origin>, [">= 1"])
|
69
|
+
s.add_runtime_dependency(%q<moped>, [">= 1"])
|
70
70
|
s.add_runtime_dependency(%q<origin-selectable_ext>, [">= 0"])
|
71
|
+
s.add_runtime_dependency(%q<sugar-high>, [">= 0.7.2"])
|
71
72
|
s.add_development_dependency(%q<rspec>, [">= 2.10"])
|
72
73
|
s.add_development_dependency(%q<rdoc>, [">= 3.12"])
|
73
74
|
s.add_development_dependency(%q<bundler>, [">= 1.1.0"])
|
@@ -75,10 +76,11 @@ Gem::Specification.new do |s|
|
|
75
76
|
s.add_development_dependency(%q<simplecov>, [">= 0.5"])
|
76
77
|
else
|
77
78
|
s.add_dependency(%q<money>, [">= 0"])
|
78
|
-
s.add_dependency(%q<mongoid>, ["
|
79
|
-
s.add_dependency(%q<origin>, [">=
|
80
|
-
s.add_dependency(%q<moped>, [">=
|
79
|
+
s.add_dependency(%q<mongoid>, [">= 2.4"])
|
80
|
+
s.add_dependency(%q<origin>, [">= 1"])
|
81
|
+
s.add_dependency(%q<moped>, [">= 1"])
|
81
82
|
s.add_dependency(%q<origin-selectable_ext>, [">= 0"])
|
83
|
+
s.add_dependency(%q<sugar-high>, [">= 0.7.2"])
|
82
84
|
s.add_dependency(%q<rspec>, [">= 2.10"])
|
83
85
|
s.add_dependency(%q<rdoc>, [">= 3.12"])
|
84
86
|
s.add_dependency(%q<bundler>, [">= 1.1.0"])
|
@@ -87,10 +89,11 @@ Gem::Specification.new do |s|
|
|
87
89
|
end
|
88
90
|
else
|
89
91
|
s.add_dependency(%q<money>, [">= 0"])
|
90
|
-
s.add_dependency(%q<mongoid>, ["
|
91
|
-
s.add_dependency(%q<origin>, [">=
|
92
|
-
s.add_dependency(%q<moped>, [">=
|
92
|
+
s.add_dependency(%q<mongoid>, [">= 2.4"])
|
93
|
+
s.add_dependency(%q<origin>, [">= 1"])
|
94
|
+
s.add_dependency(%q<moped>, [">= 1"])
|
93
95
|
s.add_dependency(%q<origin-selectable_ext>, [">= 0"])
|
96
|
+
s.add_dependency(%q<sugar-high>, [">= 0.7.2"])
|
94
97
|
s.add_dependency(%q<rspec>, [">= 2.10"])
|
95
98
|
s.add_dependency(%q<rdoc>, [">= 3.12"])
|
96
99
|
s.add_dependency(%q<bundler>, [">= 1.1.0"])
|
@@ -1,11 +1,16 @@
|
|
1
1
|
require 'money/mongoid/spec_helper'
|
2
|
-
|
2
|
+
|
3
|
+
require 'money/mongoid/monetize'
|
4
|
+
require 'money/mongoid/monetizable'
|
5
|
+
|
3
6
|
require 'money/mongoid/2x/product'
|
4
7
|
|
5
8
|
describe 'Mongoid custom Money type' do
|
6
9
|
subject { product }
|
7
10
|
|
8
|
-
let(:product) do
|
11
|
+
let(:product) do
|
12
|
+
Product.create :price => Money.new(3000, 'USD')
|
13
|
+
end
|
9
14
|
|
10
15
|
its(:price) { should be_a Money }
|
11
16
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: money-mongoid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-02-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: money
|
@@ -32,17 +32,17 @@ dependencies:
|
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
none: false
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - ! '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
37
|
+
version: '2.4'
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
|
-
- -
|
43
|
+
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
45
|
+
version: '2.4'
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: origin
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ! '>='
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '1'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '1'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: moped
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
requirements:
|
67
67
|
- - ! '>='
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
69
|
+
version: '1'
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -74,7 +74,7 @@ dependencies:
|
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
77
|
+
version: '1'
|
78
78
|
- !ruby/object:Gem::Dependency
|
79
79
|
name: origin-selectable_ext
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,6 +91,22 @@ dependencies:
|
|
91
91
|
- - ! '>='
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: sugar-high
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 0.7.2
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.7.2
|
94
110
|
- !ruby/object:Gem::Dependency
|
95
111
|
name: rspec
|
96
112
|
requirement: !ruby/object:Gem::Requirement
|
@@ -229,7 +245,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
229
245
|
version: '0'
|
230
246
|
segments:
|
231
247
|
- 0
|
232
|
-
hash:
|
248
|
+
hash: 2622379676700763146
|
233
249
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
234
250
|
none: false
|
235
251
|
requirements:
|
@@ -238,7 +254,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
238
254
|
version: '0'
|
239
255
|
requirements: []
|
240
256
|
rubyforge_project:
|
241
|
-
rubygems_version: 1.8.
|
257
|
+
rubygems_version: 1.8.25
|
242
258
|
signing_key:
|
243
259
|
specification_version: 3
|
244
260
|
summary: Mongoid support and integration for the money gem
|