orthoses-rails 1.12.0 → 1.13.0

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: a5c988c0b04839966cef88722575bce1ce8e39d540e40260e41f49411574453f
4
- data.tar.gz: 1ec7e0b8adf350623d846c18e97864fb92f099ba7db89eed4501da2ee496cc0a
3
+ metadata.gz: 62ba6a107b7b6fcbddef1a769797ec9710fa09afd6e6585094fec64d1e7ac143
4
+ data.tar.gz: 0e7516d44a26f28dca37bb5e79dfdfa1cfdde3f8e5c389706ad96fe53ca45ad0
5
5
  SHA512:
6
- metadata.gz: 8e0cc69bf6e79be6c95f98dbe19a9c1896c6f649783040df8c23bfab233471a3643e2dce434ee3343107de64370ea7a28dafeb17a265da336d6fa447dc24b8dc
7
- data.tar.gz: 30dd1747716e4952810425f750175b6e2071583a22f790ab959311231bdaa452467d670945e54294c676fad439ce43126922e63e9356c68609f90bb4884a242b
6
+ metadata.gz: 676cdb09c4d688e09b77e7cf4fe6d493d28afd3f1b08aebe6e220cf54b6e9cb53ffea48259c3437d2ed27bee61fdcbdfe778745140f0382c68b8f47358176148
7
+ data.tar.gz: f2be7cbbffe4ef3f44245b5ff659e95ff780cadcb13d19b3273517e0084661617d6c7e9468def3c4a2e6871891e82fc895c8b9005f5574ef7be43aaea13674e5
@@ -3,8 +3,9 @@
3
3
  module Orthoses
4
4
  module ActiveSupport
5
5
  class Concern
6
- def initialize(loader)
6
+ def initialize(loader, prototype_members: false)
7
7
  @loader = loader
8
+ @prototype_members = prototype_members
8
9
  end
9
10
 
10
11
  def call
@@ -19,15 +20,19 @@ module Orthoses
19
20
  next unless receiver_name
20
21
 
21
22
  class_methods_name = "#{receiver_name}::ClassMethods"
22
- members = members_prototype_of(class_methods_name)
23
-
24
- writer = ::RBS::Writer.new(out: StringIO.new)
25
- members.each do |member|
26
- writer.write_member(member)
23
+ if @prototype_members
24
+ members = members_prototype_of(class_methods_name)
25
+
26
+ writer = ::RBS::Writer.new(out: StringIO.new)
27
+ members.each do |member|
28
+ writer.write_member(member)
29
+ end
30
+ out = writer.out
31
+ # NOTE: Should I remove the method that is accidentally added in prototype rb?
32
+ store[class_methods_name].concat(out.string.each_line.to_a)
33
+ else
34
+ store[class_methods_name].header = "module #{class_methods_name}"
27
35
  end
28
- out = writer.out
29
- # NOTE: Should I remove the method that is accidentally added in prototype rb?
30
- store[class_methods_name].concat(out.string.each_line.to_a)
31
36
  end
32
37
 
33
38
  store
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orthoses
4
+ module ActiveSupport
5
+ class CoreExt
6
+ class Concerning
7
+ def initialize(loader)
8
+ @loader = loader
9
+ end
10
+
11
+ def call
12
+ tracer = ::Orthoses::CallTracer::Lazy.new
13
+ tracer.trace('Module::Concerning#concern') do
14
+ @loader.call
15
+ end.tap do |store|
16
+ tracer.captures.each do |capture|
17
+ base = capture.method.receiver
18
+ base_name = ::Orthoses::Utils.module_name(base) or next
19
+ topic = capture.argument[:topic] or next
20
+ store["#{base_name}::#{topic}"].header = "module #{base_name}::#{topic}"
21
+ end
22
+ end
23
+ end
24
+ end
25
+
26
+ def initialize(loader)
27
+ @loader = loader
28
+ end
29
+
30
+ def call
31
+ @loader = Concerning.new(@loader)
32
+ @loader.call
33
+ end
34
+ end
35
+ end
36
+ end
@@ -4,6 +4,7 @@ require_relative 'active_support/aliasing'
4
4
  require_relative 'active_support/class_attribute'
5
5
  require_relative 'active_support/concern'
6
6
  require_relative 'active_support/configurable'
7
+ require_relative 'active_support/core_ext'
7
8
  require_relative 'active_support/delegation'
8
9
  require_relative 'active_support/mattr_accessor'
9
10
  require_relative 'active_support/time_with_zone'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Orthoses
4
4
  module Rails
5
- VERSION = "1.12.0"
5
+ VERSION = "1.13.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orthoses-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.0
4
+ version: 1.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ksss
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-07-15 00:00:00.000000000 Z
10
+ date: 2025-07-17 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: orthoses
@@ -60,6 +60,7 @@ files:
60
60
  - lib/orthoses/active_support/class_attribute.rb
61
61
  - lib/orthoses/active_support/concern.rb
62
62
  - lib/orthoses/active_support/configurable.rb
63
+ - lib/orthoses/active_support/core_ext.rb
63
64
  - lib/orthoses/active_support/delegation.rb
64
65
  - lib/orthoses/active_support/mattr_accessor.rb
65
66
  - lib/orthoses/active_support/time_with_zone.rb