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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: efa47ef957de906755498b6ae0f153e142364672
4
- data.tar.gz: 3d18d6b223a291474a1a75375dca874112cf927f
3
+ metadata.gz: 3b0175ebf0ddbaaa2239700fd8788b63cc94e88d
4
+ data.tar.gz: 07e61c9c970e8973e4e7a19e3e25433f34080744
5
5
  SHA512:
6
- metadata.gz: c0bd2f321438ba7e89a3b87f6f96ee23c63f347e5f186129744ec9177376b42ce6ded419f2296a2c0315194116266f3c9c514f00b28b271c0da987d11a39fbac
7
- data.tar.gz: f4d8e9924a6d49cf3138b34b2c41b2a072cd8d7415154504c8aea0d72a25f00398427016e703bcab311c59c16ed5ecf3e2d2aef2dfc5e4d22b8a4a68a44f4923
6
+ metadata.gz: 13702b8bbb4250440aaa12ffa59ce5fc043dfeefce8bf0b296f4d1f90d798ad88bdb2f4e0cee1dce2159606fd35dee49da153e307289db1f30894181f2f3da5a
7
+ data.tar.gz: 5222376d572602c9b9fe73a8e71d59129c2ee91ba4993dd0e17351b3db7123142351c99ddeb14cca5be6ae5b512839333f501563d66fcb9facc672f7d1d5a4c1
@@ -38,11 +38,13 @@ module DataBroker
38
38
  end
39
39
 
40
40
  def all(eager_load: false)
41
- records_to_objects(self.record.all, :eager_load => eager_load)
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.record.find_by(:id => model.id)
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
- self.record.includes(parents.values)
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
@@ -1,3 +1,3 @@
1
1
  module DataBroker
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_broker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Emmons