magic-lookup 1.0.0 → 1.0.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: 42bb5c56a8ac2c6e1ec2343bbb58f55072d67ea86174718f759b78351596251e
4
- data.tar.gz: a8ba8b9b5ae2b058d531c57cfbdb069a3643a1f6ba8379ec9f665e83a3bbf0af
3
+ metadata.gz: d8011c2f730648865e888be99a15c9d077d26a35769e5f9023dde1135cbea691
4
+ data.tar.gz: ff2a8175abe26c3c2a73e191e61b154a00c7b94ad9f0f3a5da2a2b84b0f37c43
5
5
  SHA512:
6
- metadata.gz: 2cc4b4cd6814cc0d8d4408da560a3f83344c956955026914468c3fe318614832000b1b7516102e8e7c1146e0f0522266e03c1d58d9d11a4026bd789e2220064c
7
- data.tar.gz: b46208fc2b4eb23f372b161451c5d238012d47ebb8b808427aaf6144704f82be1d3f66473788458d94027cf417ab614d9f94e12469b8149d66e55b7f06072324
6
+ metadata.gz: 14dfb895d3306f395348bced7127e61b788d7e54ef0f3a6ddfdb4db0156f15de9440b8b42162a48983e6293f8852bedb90dceacd8fc5b7da322a4a293e55eee4
7
+ data.tar.gz: 15662621bd22045649eea918c9bb6700a2bdb101dc09a138b99026110c478c9f8dfc4f0bc6fb1109b58a7d6164f21b2a61e04b5840112b009f04cbfff63b5db2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [1.0.1] — 2026-10-05
2
+
3
+ ### Fixed
4
+
5
+ - `Magic::Lookup::Scope` inheritance:
6
+ reverse lookup methods are meant for scope modules only, not for classes including them.
7
+
8
+
1
9
  ## [1.0.0] — 2026-09-29
2
10
 
3
11
  This release marks the gem to be stable enough.
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/concern'
4
3
  require 'magic/rails'
5
4
  require 'memery'
6
5
 
@@ -19,23 +18,26 @@ module Magic
19
18
 
20
19
  memoize def [] scope
21
20
  Module.new do
22
- extend ActiveSupport::Concern
21
+ @scope = scope
23
22
 
24
- include Scope
23
+ def self.included base
24
+ return if base.is_a? Class # modules only
25
25
 
26
- included do
27
- extend ClassMethods # WTF?!
26
+ base.include Scope
27
+ base.extend Rails::ModuleFunctions
28
28
 
29
- @loading_scope = scope
29
+ base.instance_variable_set :@loading_scope, @scope
30
30
  end
31
+ end
32
+ end
33
+ end
31
34
 
32
- class_methods do # public API
33
- def classes
34
- Magic.eager_load @loading_scope
35
+ module Rails
36
+ module ModuleFunctions # :nodoc:
37
+ def classes
38
+ Magic.eager_load @loading_scope
35
39
 
36
- super
37
- end
38
- end
40
+ super
39
41
  end
40
42
  end
41
43
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/concern'
4
3
  require 'active_support/core_ext/enumerable'
5
4
  require 'active_support/core_ext/object/blank'
6
5
 
@@ -29,9 +28,13 @@ module Magic
29
28
  # Scopable.for MyScope # => MyModel
30
29
  # Scopable.for OtherScope # => nil
31
30
  module Scope
32
- extend ActiveSupport::Concern
31
+ def self.included base
32
+ return if base.is_a? Class # modules only
33
33
 
34
- class_methods do
34
+ base.extend ModuleFunctions
35
+ end
36
+
37
+ module ModuleFunctions # :nodoc:
35
38
  include Memery
36
39
 
37
40
  memoize def for lookup_class
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Magic
4
4
  module Lookup
5
- VERSION = '1.0.0'
5
+ VERSION = '1.0.1'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magic-lookup
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Senko
@@ -72,7 +72,7 @@ licenses:
72
72
  metadata:
73
73
  homepage_uri: "https://github.com/Alexander-Senko/magic-lookup"
74
74
  source_code_uri: "https://github.com/Alexander-Senko/magic-lookup"
75
- changelog_uri: "https://github.com/Alexander-Senko/magic-lookup/blob/v1.0.0/CHANGELOG.md"
75
+ changelog_uri: "https://github.com/Alexander-Senko/magic-lookup/blob/v1.0.1/CHANGELOG.md"
76
76
  rdoc_options: []
77
77
  require_paths:
78
78
  - lib