data_broker 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/data_broker/mapper.rb +13 -7
- data/lib/data_broker/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b0175ebf0ddbaaa2239700fd8788b63cc94e88d
|
4
|
+
data.tar.gz: 07e61c9c970e8973e4e7a19e3e25433f34080744
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13702b8bbb4250440aaa12ffa59ce5fc043dfeefce8bf0b296f4d1f90d798ad88bdb2f4e0cee1dce2159606fd35dee49da153e307289db1f30894181f2f3da5a
|
7
|
+
data.tar.gz: 5222376d572602c9b9fe73a8e71d59129c2ee91ba4993dd0e17351b3db7123142351c99ddeb14cca5be6ae5b512839333f501563d66fcb9facc672f7d1d5a4c1
|
data/lib/data_broker/mapper.rb
CHANGED
@@ -38,11 +38,13 @@ module DataBroker
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def all(eager_load: false)
|
41
|
-
|
41
|
+
recs = eager_record(eager_load)
|
42
|
+
recs = eager_load ? recs.to_a : recs.all
|
43
|
+
records_to_objects(recs, :eager_load => eager_load)
|
42
44
|
end
|
43
45
|
|
44
46
|
def find(id, eager_load: true)
|
45
|
-
record = self.eager_record.find_by(:id => id)
|
47
|
+
record = self.eager_record(eager_load).find_by(:id => id)
|
46
48
|
if record.nil?
|
47
49
|
nil
|
48
50
|
else
|
@@ -53,12 +55,12 @@ module DataBroker
|
|
53
55
|
def where(eager_load: true, **conds)
|
54
56
|
conds = Hash[conds.map { |key, value| [self.mapping[key], value] }]
|
55
57
|
records_to_objects(
|
56
|
-
self.eager_record.where(conds), :eager_load => eager_load
|
58
|
+
self.eager_record(eager_load).where(conds), :eager_load => eager_load
|
57
59
|
)
|
58
60
|
end
|
59
61
|
|
60
62
|
def save(model, eager_load: true)
|
61
|
-
record = self.eager_record.find_by(:id => model.id) || self.record.new
|
63
|
+
record = self.eager_record(eager_load).find_by(:id => model.id) || self.record.new
|
62
64
|
attributes = Hash[self.mapping.map { |key, value| [value, model[key]] }]
|
63
65
|
attributes.delete(:id)
|
64
66
|
record.attributes = attributes
|
@@ -68,7 +70,7 @@ module DataBroker
|
|
68
70
|
end
|
69
71
|
|
70
72
|
def destroy(model, eager_load: false)
|
71
|
-
record = self.
|
73
|
+
record = self.eager_record(eager_load).find_by(:id => model.id)
|
72
74
|
if record.nil?
|
73
75
|
nil
|
74
76
|
else
|
@@ -88,8 +90,12 @@ module DataBroker
|
|
88
90
|
end
|
89
91
|
end
|
90
92
|
|
91
|
-
def eager_record
|
92
|
-
|
93
|
+
def eager_record(eager_load)
|
94
|
+
if eager_load
|
95
|
+
self.record.includes(parents.values)
|
96
|
+
else
|
97
|
+
self.record
|
98
|
+
end
|
93
99
|
end
|
94
100
|
|
95
101
|
private
|
data/lib/data_broker/version.rb
CHANGED