activerecord-quick_read 0.3.0 → 1.1.0

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
  SHA256:
3
- metadata.gz: 568374965e9c8f4084e7b8e5da2ea6d300c7100833dd4bd49c76053aa0cf9c41
4
- data.tar.gz: 45733a42147cff2340617a7b3d67b917b4d9b2eb4cfe2b39ae74774a567e0bf5
3
+ metadata.gz: 0d401b9ac50f22d00aeecc23fa0b526b6be514bd0ff16ef9b59de596e43b26ba
4
+ data.tar.gz: e62a73b6cd6295759857c0a1600bd012e552dcdf6594cb9512678296e627311c
5
5
  SHA512:
6
- metadata.gz: 16d472db41e9d176750b839d54981a662decb9a6ebf93341d531750240d9f3927208e41ad71c168314b1ad29d105a91346f1615d9cec1d7d1f4875bcce941488
7
- data.tar.gz: 44587f0a0d78e5f883c68af80d48ea00ed1fd64e8368b8621c3bbc7cf21e399f4a1244e7294bbda8702ac5c5cc5d7c56f5337d49ea1c84de47025a6581b138bd
6
+ metadata.gz: 994202293a9083b9bc13fb25707abea8cfd455eefa7804065a6ce2ebb80f42f258a4db8017825fec312dce6e999560f6c349c2edbdd1be264067c80ec8a082c7
7
+ data.tar.gz: 357fee568bb033ed9778413d70e41a901c7b528382c24bda22f45cffff84ffecde43821c7a24a96660cda6117794187c98b0f6f1ba61e7966e9d7557e27d2bd9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- activerecord-quick_read (0.2.0)
4
+ activerecord-quick_read (1.0.0)
5
5
  activerecord (>= 5, <= 8)
6
6
 
7
7
  GEM
@@ -2,32 +2,34 @@ module ActiveRecord
2
2
  module QuickRead
3
3
  module LiteBase
4
4
  def method_missing(name, *args, &block)
5
- return super unless subject.respond_to?(name)
5
+ return super unless _ar_instance.respond_to?(name)
6
6
 
7
- subject.send(name, *args, &block)
7
+ _ar_instance.send(name, *args, &block)
8
8
  end
9
9
 
10
10
  def respond_to_missing?(*args)
11
- subject.respond_to?(*args) || super
12
- end
13
-
14
- def subject
15
- @subject ||= model.from_hash(to_h)
16
- end
17
-
18
- # Since the struct that includes this module is defined within the model's namespace
19
- def model
20
- self.class.module_parent
11
+ _ar_instance.respond_to?(*args) || super
21
12
  end
22
13
 
23
14
  def reload(*)
24
- source = @subject&.reload
25
- source ||= model.unscoped.where(id: id).select(members.join(', ')).quick_read
15
+ source = @_ar_instance&.reload
16
+ source ||= _ar_model.unscoped.where(id: id).quick_read
26
17
  return false unless source
27
18
 
28
19
  members.each { |attr| send(:"#{attr}=", source.send(attr)) }
29
20
  self
30
21
  end
22
+
23
+ # Private
24
+
25
+ def _ar_instance
26
+ @_ar_instance ||= _ar_model.from_hash(to_h)
27
+ end
28
+
29
+ # Since the struct that includes this module is defined within the model's namespace
30
+ def _ar_model
31
+ self.class.module_parent
32
+ end
31
33
  end
32
34
  end
33
35
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActiveRecord
4
4
  module QuickRead
5
- VERSION = "0.3.0"
5
+ VERSION = "1.1.0"
6
6
  end
7
7
  end
@@ -22,6 +22,8 @@ module ActiveRecord
22
22
  return if !model.table_name || model.abstract_class
23
23
 
24
24
  QuickRead.define_lite_struct(model)
25
+ rescue => e
26
+ ActiveRecord::Base.logger.debug("QuickRead") { "Failed to define quick models #{e.message}" }
25
27
  end
26
28
 
27
29
  def self.models
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-quick_read
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Buckley