yaoc 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60a0299fcfe56955d503d23ff8d92b69d2f9aee4
|
4
|
+
data.tar.gz: 4946c343a774f4d278298671f781d61ad647fe02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27acb99f506e5220e00b16bfd691df573fd1ae1c860c9d0ec9e0a0b229c2a95500884b44e0561b0fcfc61dc2105c608459db1c1d1aafbb0b0bb43b0726e6f37f
|
7
|
+
data.tar.gz: 4bcd3ceecda4be8ce9b9c381991c1230249dd0d2c0d912ed91f86d6c356e90174a3e4bbe3294c7710d59a73cc8f0e15f8bf8f97f01eeaf96418ee2fbbc0e7c1f
|
@@ -28,6 +28,18 @@ module Yaoc
|
|
28
28
|
super || __getobj__.kind_of?(some_class)
|
29
29
|
end
|
30
30
|
|
31
|
+
def nil?
|
32
|
+
__getobj__.nil?
|
33
|
+
end
|
34
|
+
|
35
|
+
def _initialisation_proc_loaded?
|
36
|
+
self._initialisation_proc_loaded
|
37
|
+
end
|
38
|
+
|
39
|
+
def _needs_conversion?
|
40
|
+
_initialisation_proc_loaded? && ! nil?
|
41
|
+
end
|
42
|
+
|
31
43
|
end
|
32
44
|
end
|
33
45
|
end
|
data/lib/yaoc/object_mapper.rb
CHANGED
@@ -12,7 +12,8 @@ module Yaoc
|
|
12
12
|
reverse_converter: nil,
|
13
13
|
object_converter: nil,
|
14
14
|
is_collection: nil,
|
15
|
-
lazy_loading: nil
|
15
|
+
lazy_loading: nil,
|
16
|
+
reverse_lazy_loading: lazy_loading)
|
16
17
|
|
17
18
|
object_converter = Array(object_converter)
|
18
19
|
|
@@ -31,7 +32,7 @@ module Yaoc
|
|
31
32
|
converter: reverse_converter,
|
32
33
|
object_converter: object_converter.map(&:reverse_converter),
|
33
34
|
is_collection: is_collection,
|
34
|
-
lazy_loading:
|
35
|
+
lazy_loading: reverse_lazy_loading
|
35
36
|
)
|
36
37
|
end
|
37
38
|
|
data/lib/yaoc/version.rb
CHANGED
@@ -25,7 +25,7 @@ describe Yaoc::Helper::ToProcDelegator do
|
|
25
25
|
expect(subject.first).to eq :some_value
|
26
26
|
end
|
27
27
|
|
28
|
-
describe 'kind_of?' do
|
28
|
+
describe '#kind_of?' do
|
29
29
|
|
30
30
|
it 'returns true when class is "real class"' do
|
31
31
|
expect(subject).to be_kind_of Yaoc::Helper::ToProcDelegator
|
@@ -41,4 +41,15 @@ describe Yaoc::Helper::ToProcDelegator do
|
|
41
41
|
|
42
42
|
end
|
43
43
|
|
44
|
+
describe '#nil?' do
|
45
|
+
it "returns true when delegate value is nil" do
|
46
|
+
subject = Yaoc::Helper::ToProcDelegator.new(->{nil})
|
47
|
+
expect(subject).to be_nil
|
48
|
+
end
|
49
|
+
|
50
|
+
it "returns false when delegate value is not nil" do
|
51
|
+
expect(subject).not_to be_nil
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
44
55
|
end
|
@@ -38,55 +38,40 @@ describe Yaoc::ObjectMapper do
|
|
38
38
|
describe "#add_mapping" do
|
39
39
|
|
40
40
|
it "creates a converter" do
|
41
|
-
expected_params = expected_default_params
|
42
|
-
to: :id,
|
43
|
-
from: :id2,
|
44
|
-
converter: :some_proc
|
45
|
-
)
|
41
|
+
expected_params = expected_default_params
|
46
42
|
|
47
43
|
expect(converter_builder).to receive(:rule).with(expected_params)
|
48
44
|
|
49
45
|
subject.add_mapping do
|
50
|
-
rule to: :id
|
51
|
-
from: :id2,
|
52
|
-
converter: :some_proc,
|
53
|
-
reverse_converter: :some_reverse_proc
|
46
|
+
rule to: :id
|
54
47
|
end
|
55
48
|
|
56
49
|
end
|
57
50
|
|
58
51
|
it "creates a revers converter" do
|
59
|
-
expected_params = expected_default_params
|
60
|
-
to: :id2,
|
61
|
-
from: :id,
|
62
|
-
converter: :some_reverse_proc
|
63
|
-
)
|
52
|
+
expected_params = expected_default_params
|
64
53
|
|
65
54
|
expect(reverse_converter_builder).to receive(:rule).with(expected_params)
|
66
55
|
|
67
56
|
subject.add_mapping do
|
68
|
-
rule to: :id
|
69
|
-
from: :id2,
|
70
|
-
converter: :some_proc,
|
71
|
-
reverse_converter: :some_reverse_proc
|
57
|
+
rule to: :id
|
72
58
|
end
|
73
59
|
|
74
60
|
end
|
75
61
|
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "#rule" do
|
65
|
+
|
76
66
|
it "allows to use another converter as converter" do
|
77
67
|
converter_double = double("converter")
|
78
68
|
|
79
69
|
expected_params = expected_default_params.merge(
|
80
|
-
from: :id2,
|
81
70
|
object_converter: [converter_double],
|
82
|
-
is_collection: false
|
83
71
|
)
|
84
72
|
|
85
73
|
expected_params_reverse = expected_default_params.merge(
|
86
|
-
|
87
|
-
from: :id,
|
88
|
-
object_converter: [converter_double],
|
89
|
-
is_collection: false
|
74
|
+
object_converter: [converter_double]
|
90
75
|
)
|
91
76
|
|
92
77
|
|
@@ -99,23 +84,10 @@ describe Yaoc::ObjectMapper do
|
|
99
84
|
|
100
85
|
subject.add_mapping do
|
101
86
|
rule to: :id,
|
102
|
-
from: :id2,
|
103
|
-
is_collection: false,
|
104
87
|
object_converter: converter_double
|
105
88
|
end
|
106
89
|
end
|
107
90
|
|
108
|
-
it "uses defaults" do
|
109
|
-
expect(converter_builder).to receive(:rule).with(expected_default_params)
|
110
|
-
|
111
|
-
expect(reverse_converter_builder).to receive(:rule).with(expected_default_params)
|
112
|
-
|
113
|
-
subject.add_mapping do
|
114
|
-
rule to: :id
|
115
|
-
end
|
116
|
-
|
117
|
-
end
|
118
|
-
|
119
91
|
it "accepts a reverse mapping for from and to" do
|
120
92
|
expected_params = expected_default_params.merge(
|
121
93
|
to: :id_r,
|
@@ -166,6 +138,39 @@ describe Yaoc::ObjectMapper do
|
|
166
138
|
end
|
167
139
|
end
|
168
140
|
|
141
|
+
it "allows to set lazy_loading" do
|
142
|
+
expected_params = expected_default_params.merge(
|
143
|
+
lazy_loading: true,
|
144
|
+
)
|
145
|
+
|
146
|
+
expect(converter_builder).to receive(:rule).with(expected_params)
|
147
|
+
expect(reverse_converter_builder).to receive(:rule).with(expected_params)
|
148
|
+
|
149
|
+
subject.add_mapping do
|
150
|
+
rule to: :id,
|
151
|
+
lazy_loading: true
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
it "allows to set reverse lazy_loading" do
|
156
|
+
expected_params = expected_default_params.merge(
|
157
|
+
lazy_loading: nil,
|
158
|
+
)
|
159
|
+
|
160
|
+
expected_params_reverse = expected_default_params.merge(
|
161
|
+
lazy_loading: true,
|
162
|
+
)
|
163
|
+
|
164
|
+
expect(converter_builder).to receive(:rule).with(expected_params)
|
165
|
+
expect(reverse_converter_builder).to receive(:rule).with(expected_params_reverse)
|
166
|
+
|
167
|
+
subject.add_mapping do
|
168
|
+
rule to: :id,
|
169
|
+
reverse_lazy_loading: true
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
|
169
174
|
end
|
170
175
|
|
171
176
|
describe "#load" do
|