activerecord-autoscope 0.2.0 → 0.2.1

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
  SHA256:
3
- metadata.gz: 5b25256fc1f2418a53b6b4ff9339b75deb6aadac63f24c56da07b9085d8f6429
4
- data.tar.gz: 3d1488d0136e6966f010623033dddfcf77c5cf75bedcd3a2f4aeb0af020b6600
3
+ metadata.gz: 6ebf49c0e9411d8e3276fc893fe9ed8719f6ab1acda91d63657008799be67dd7
4
+ data.tar.gz: 937fe74e98aa59b7e048dde8df4dedcf66c8f713f460ef9750c092b1bb997397
5
5
  SHA512:
6
- metadata.gz: 31f82763f6b3617d9401151e1b459b065e7c0308a2103f7f5f287fb482f1a356185353483a5a8acdc77ebffa5f440a07a15978da80b79edb970fa403765e81ec
7
- data.tar.gz: abd3799fcc61c8478bb882c9cb9a7952cf5b43de709a9ddb43375aea2955064397ac414e837313afdf235a150523b9a6e76da88064d37e1a136a3b04547031b3
6
+ metadata.gz: 805a2109457614814a9e7740a521b67fd8c6dd0515329fdfc850849611575763655e892013538496805eaa7e6efe851ca052949123edc987132649c52cb0fe02
7
+ data.tar.gz: 9bee74f15a103f81c766e7a87e8d90982ca317e7eb890c4ab502a909268aefbc2aa0f318192971bc1efab07ff1a31088a2af111a48d36e0809b33025fb78aebc
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- activerecord-autoscope (0.2.0)
4
+ activerecord-autoscope (0.2.1)
5
5
  activerecord (>= 5.2)
6
6
 
7
7
  GEM
@@ -15,6 +15,14 @@ end
15
15
 
16
16
  module ActiveRecord
17
17
  module AutoScope # :nodoc:
18
+ def self.tracer
19
+ @tracer ||= TracePoint.trace(:end) do |event|
20
+ next unless event.self.respond_to?(:enable_auto_scopes!)
21
+
22
+ event.self.enable_auto_scopes!
23
+ end
24
+ end
25
+
18
26
  def self.configure
19
27
  yield config
20
28
  end
@@ -3,18 +3,19 @@
3
3
  module ActiveRecord
4
4
  module AutoScope
5
5
  class Railtie < ::Rails::Railtie # :nodoc:
6
- config.after_initialize do
6
+ config.before_initialize do
7
7
  ActiveSupport.on_load :active_record do
8
8
  ActiveRecord::Base.extend ::ActiveRecord::AutoScope::ScopeMethods
9
9
  end
10
+ end
10
11
 
11
- if ::ActiveRecord::AutoScope.config.auto_define_scopes
12
- TracePoint.trace(:end) do |event|
13
- next if !event.self.ancestors.include?(ActiveRecord::Base) || event.self.abstract_class?
12
+ config.to_prepare do
13
+ ::ActiveRecord::AutoScope.tracer.enable if ::ActiveRecord::AutoScope.config.auto_define_scopes
14
+ end
14
15
 
15
- event.self.enable_auto_scopes!
16
- end
17
- end
16
+ # TODO: Disable trace point on development and test
17
+ config.after_initialize do
18
+ ::ActiveRecord::AutoScope.tracer.disable if ::ActiveRecord::AutoScope.config.auto_define_scopes && ::Rails.application.config.eager_load
18
19
  end
19
20
  end
20
21
  end
@@ -4,6 +4,8 @@ module ActiveRecord
4
4
  module AutoScope
5
5
  module ScopeMethods # :nodoc:
6
6
  def enable_auto_scopes!
7
+ return if abstract_class?
8
+
7
9
  columns.each do |column|
8
10
  attr_name = column.name
9
11
  table_name = column.table_name
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActiveRecord
4
4
  module AutoScope
5
- VERSION = '0.2.0'.freeze
5
+ VERSION = '0.2.1'.freeze
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-autoscope
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshiyuki Hirano
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-03 00:00:00.000000000 Z
11
+ date: 2019-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord