yaoc 0.0.7 → 0.0.8
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.
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
|