data_broker 0.2.2 → 0.2.3

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: 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