minimapper-extras 0.3.0 → 0.3.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.
@@ -13,5 +13,12 @@ class ToBoolean
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
+
class ToBigDecimal
|
17
|
+
def convert(value)
|
18
|
+
BigDecimal(value)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
16
22
|
Minimapper::Entity::Convert.register_converter(:date, ToDate.new)
|
17
23
|
Minimapper::Entity::Convert.register_converter(:boolean, ToBoolean.new)
|
24
|
+
Minimapper::Entity::Convert.register_converter(:big_decimal, ToBigDecimal.new)
|
@@ -6,6 +6,7 @@ class User
|
|
6
6
|
|
7
7
|
attribute :signed_up_on, :date
|
8
8
|
attribute :flagged, :boolean
|
9
|
+
attribute :amount, :big_decimal
|
9
10
|
end
|
10
11
|
|
11
12
|
describe "Convertions" do
|
@@ -22,4 +23,9 @@ describe "Convertions" do
|
|
22
23
|
User.new(:flagged => "1").flagged.should eq(true)
|
23
24
|
User.new(:flagged => "0").flagged.should eq(false)
|
24
25
|
end
|
26
|
+
|
27
|
+
it "can convert big decimals" do
|
28
|
+
User.new(amount: "500").amount.should == BigDecimal.new(500)
|
29
|
+
User.new(amount: "500.23").amount.should == BigDecimal.new("500.23")
|
30
|
+
end
|
25
31
|
end
|
@@ -30,8 +30,8 @@ end
|
|
30
30
|
|
31
31
|
describe CreateThroughRepositoryStrategy do
|
32
32
|
let(:entity) { Location.new }
|
33
|
-
let(:location_mapper) {
|
34
|
-
let(:evaluation) {
|
33
|
+
let(:location_mapper) { double }
|
34
|
+
let(:evaluation) { double(:object => entity) }
|
35
35
|
|
36
36
|
before do
|
37
37
|
Repository.stub(:locations).and_return(location_mapper)
|
@@ -52,8 +52,8 @@ describe CreateThroughRepositoryStrategy do
|
|
52
52
|
end
|
53
53
|
|
54
54
|
describe CreateThroughRepositoryStrategy, "when there are belongs_to associations" do
|
55
|
-
let(:payment_mapper) {
|
56
|
-
let(:order_mapper) {
|
55
|
+
let(:payment_mapper) { double }
|
56
|
+
let(:order_mapper) { double }
|
57
57
|
|
58
58
|
before do
|
59
59
|
Repository.stub(:orders => order_mapper)
|
@@ -65,14 +65,14 @@ describe CreateThroughRepositoryStrategy, "when there are belongs_to association
|
|
65
65
|
order = Order.new(:payment => payment)
|
66
66
|
payment_mapper.should_receive(:create).ordered.with(payment).and_return(true)
|
67
67
|
order_mapper.should_receive(:create).ordered.with(order).and_return(true)
|
68
|
-
evaluation =
|
68
|
+
evaluation = double(:object => order)
|
69
69
|
CreateThroughRepositoryStrategy.new.result(evaluation)
|
70
70
|
end
|
71
71
|
|
72
72
|
it "does not create dependencies when not defined" do
|
73
73
|
order = Order.new(:payment => nil)
|
74
74
|
order_mapper.should_receive(:create).ordered.with(order).and_return(true)
|
75
|
-
evaluation =
|
75
|
+
evaluation = double(:object => order)
|
76
76
|
CreateThroughRepositoryStrategy.new.result(evaluation)
|
77
77
|
end
|
78
78
|
|
@@ -81,7 +81,7 @@ describe CreateThroughRepositoryStrategy, "when there are belongs_to association
|
|
81
81
|
order = Order.new(:payment => payment)
|
82
82
|
payment_mapper.should_not_receive(:create)
|
83
83
|
order_mapper.should_receive(:create).ordered.with(order).and_return(true)
|
84
|
-
evaluation =
|
84
|
+
evaluation = double(:object => order)
|
85
85
|
CreateThroughRepositoryStrategy.new.result(evaluation)
|
86
86
|
end
|
87
87
|
end
|
@@ -21,9 +21,9 @@ end
|
|
21
21
|
describe Minimapper::Mapper::HasManyAssociation do
|
22
22
|
let(:contact) { Contact.new(:name => "Joe", :id => 1) }
|
23
23
|
let(:customer) { Customer.new(:id => 1, :contacts => [ contact ]) }
|
24
|
-
let(:repository) {
|
25
|
-
let(:customer_mapper) {
|
26
|
-
let(:contacts_mapper) {
|
24
|
+
let(:repository) { double(:contacts => contacts_mapper) }
|
25
|
+
let(:customer_mapper) { double(:find => customer, :repository => repository) }
|
26
|
+
let(:contacts_mapper) { double }
|
27
27
|
|
28
28
|
it "updates changed associated entities" do
|
29
29
|
contacts_mapper.should_receive(:update).with(contact)
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minimapper-extras
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Joakim Kolsjö
|
@@ -9,106 +10,85 @@ authors:
|
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2013-07-
|
13
|
+
date: 2013-07-22 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: minimapper
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirement: &70343866571880 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
17
19
|
requirements:
|
18
|
-
- - '>='
|
20
|
+
- - ! '>='
|
19
21
|
- !ruby/object:Gem::Version
|
20
22
|
version: '0.8'
|
21
23
|
type: :runtime
|
22
24
|
prerelease: false
|
23
|
-
version_requirements:
|
24
|
-
requirements:
|
25
|
-
- - '>='
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: '0.8'
|
25
|
+
version_requirements: *70343866571880
|
28
26
|
- !ruby/object:Gem::Dependency
|
29
27
|
name: attr_extras
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
28
|
+
requirement: &70343866571340 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
31
30
|
requirements:
|
32
|
-
- - '>='
|
31
|
+
- - ! '>='
|
33
32
|
- !ruby/object:Gem::Version
|
34
33
|
version: '0'
|
35
34
|
type: :runtime
|
36
35
|
prerelease: false
|
37
|
-
version_requirements:
|
38
|
-
requirements:
|
39
|
-
- - '>='
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: '0'
|
36
|
+
version_requirements: *70343866571340
|
42
37
|
- !ruby/object:Gem::Dependency
|
43
38
|
name: backports
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
39
|
+
requirement: &70343866570760 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
45
41
|
requirements:
|
46
|
-
- - '>='
|
42
|
+
- - ! '>='
|
47
43
|
- !ruby/object:Gem::Version
|
48
44
|
version: '0'
|
49
45
|
type: :runtime
|
50
46
|
prerelease: false
|
51
|
-
version_requirements:
|
52
|
-
requirements:
|
53
|
-
- - '>='
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: '0'
|
47
|
+
version_requirements: *70343866570760
|
56
48
|
- !ruby/object:Gem::Dependency
|
57
49
|
name: bundler
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirement: &70343866570140 !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
59
52
|
requirements:
|
60
53
|
- - ~>
|
61
54
|
- !ruby/object:Gem::Version
|
62
55
|
version: '1.3'
|
63
56
|
type: :development
|
64
57
|
prerelease: false
|
65
|
-
version_requirements:
|
66
|
-
requirements:
|
67
|
-
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '1.3'
|
58
|
+
version_requirements: *70343866570140
|
70
59
|
- !ruby/object:Gem::Dependency
|
71
60
|
name: rake
|
72
|
-
requirement: !ruby/object:Gem::Requirement
|
61
|
+
requirement: &70343866569480 !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
73
63
|
requirements:
|
74
|
-
- - '>='
|
64
|
+
- - ! '>='
|
75
65
|
- !ruby/object:Gem::Version
|
76
66
|
version: '0'
|
77
67
|
type: :development
|
78
68
|
prerelease: false
|
79
|
-
version_requirements:
|
80
|
-
requirements:
|
81
|
-
- - '>='
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: '0'
|
69
|
+
version_requirements: *70343866569480
|
84
70
|
- !ruby/object:Gem::Dependency
|
85
71
|
name: rspec
|
86
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirement: &70343866568460 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
87
74
|
requirements:
|
88
|
-
- - '>='
|
75
|
+
- - ! '>='
|
89
76
|
- !ruby/object:Gem::Version
|
90
77
|
version: '0'
|
91
78
|
type: :development
|
92
79
|
prerelease: false
|
93
|
-
version_requirements:
|
94
|
-
requirements:
|
95
|
-
- - '>='
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
version: '0'
|
80
|
+
version_requirements: *70343866568460
|
98
81
|
- !ruby/object:Gem::Dependency
|
99
82
|
name: activemodel
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
83
|
+
requirement: &70343866567420 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
101
85
|
requirements:
|
102
|
-
- - '>='
|
86
|
+
- - ! '>='
|
103
87
|
- !ruby/object:Gem::Version
|
104
88
|
version: '0'
|
105
89
|
type: :development
|
106
90
|
prerelease: false
|
107
|
-
version_requirements:
|
108
|
-
requirements:
|
109
|
-
- - '>='
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: '0'
|
91
|
+
version_requirements: *70343866567420
|
112
92
|
description:
|
113
93
|
email:
|
114
94
|
- joakim.kolsjo@gmail.com
|
@@ -145,26 +125,27 @@ files:
|
|
145
125
|
homepage: ''
|
146
126
|
licenses:
|
147
127
|
- MIT
|
148
|
-
metadata: {}
|
149
128
|
post_install_message:
|
150
129
|
rdoc_options: []
|
151
130
|
require_paths:
|
152
131
|
- lib
|
153
132
|
required_ruby_version: !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
154
134
|
requirements:
|
155
|
-
- - '>='
|
135
|
+
- - ! '>='
|
156
136
|
- !ruby/object:Gem::Version
|
157
137
|
version: '0'
|
158
138
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
159
140
|
requirements:
|
160
|
-
- - '>='
|
141
|
+
- - ! '>='
|
161
142
|
- !ruby/object:Gem::Version
|
162
143
|
version: '0'
|
163
144
|
requirements: []
|
164
145
|
rubyforge_project:
|
165
|
-
rubygems_version:
|
146
|
+
rubygems_version: 1.8.6
|
166
147
|
signing_key:
|
167
|
-
specification_version:
|
148
|
+
specification_version: 3
|
168
149
|
summary: Extras for Minimapper.
|
169
150
|
test_files:
|
170
151
|
- spec/minimapper/entity/belongs_to_spec.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: edb130e5d2a4506574a9ee233267341ec60cec29
|
4
|
-
data.tar.gz: cb71eaa99b8f5ae8b0711413c6a8035ce0eb9681
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 144868b83b8bc0eac44fc33872c43759eae2d5ab4cdf74370c46e71ecef3ae802947851431ebcf860aaffc5fd4253bd58115eb18ebf893e85a468d891ca63750
|
7
|
-
data.tar.gz: 96e73ad707e7e649f2ce7686be070d5bff502c644e9faa2ccc053fac80abd88537cd7032db3494752b71522d21795ba7d81fa43f8ab61b0db246efb83c59441d
|