rbs-trace 0.5.0 → 0.5.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: b10553866e335d8d7e7210d41cde3b905939b6ee26822994197c4bcfe8d324ce
4
- data.tar.gz: ffa7d6f2f2bd57b7695b2e0622df519a0b0e830519aedb71185576038b514f3b
3
+ metadata.gz: ffa35a17dce6177b82270290080a095b19ee61015245ce8d64621990b7634635
4
+ data.tar.gz: c6ec9bb2c2387b4c421e03bab6d3aec654eff71e1d814c680027952ccd4d6805
5
5
  SHA512:
6
- metadata.gz: 6f91f4b6facc4ce53917e0b574e85eb4d6f3e11646ce32407e39b79226e310f072ec564a993ef4e9ab68868bc83a261c1756b238f658ad66298d005806a4540f
7
- data.tar.gz: c63bfaf42df1456961c16f9903df32f05dabab967d4a0305457aa2288e0b2d12d5e0a8be5ad1d62cf47e21b6bddacd8c82cc4eede8c5b4f1615bd715d4281b45
6
+ metadata.gz: cfabe32a33ba27850b286c2a6ab5bbf33d382dea09cfb6e6bc828d9c3aac949b644ad9cd8afbbc2bbc3f3c873c6200ccb9743f7ee04143ec3eb38ff2eb35f382
7
+ data.tar.gz: 4dbdea59fdf5711777c5a3b9ed5e07e8420c901fe6a156d9e710e31227c437220001974e848c678adef096aef279a277b2679c11329ae7f32c43841b65649edb
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.5.1] - 2025-04-20
4
+
5
+ - fix: Support nested modules defined with `::`
6
+
3
7
  ## [0.5.0] - 2025-03-30
4
8
 
5
9
  - feat: Add paths to control trace targets
@@ -15,17 +15,17 @@ module RBS
15
15
  # @rbs override
16
16
  # @rbs (Prism::Node) -> void
17
17
  def visit_class_node(node)
18
- @context.push(node.name)
19
- super
20
- @context.pop
18
+ with_context node do
19
+ super
20
+ end
21
21
  end
22
22
 
23
23
  # @rbs override
24
24
  # @rbs (Prism::Node) -> void
25
25
  def visit_module_node(node)
26
- @context.push(node.name)
27
- super
28
- @context.pop
26
+ with_context node do
27
+ super
28
+ end
29
29
  end
30
30
 
31
31
  # @rbs override
@@ -58,6 +58,19 @@ module RBS
58
58
  member.is_a?(AST::Members::MethodDefinition) && member.name == name
59
59
  end
60
60
  end
61
+
62
+ # @rbs (Prism::ModuleNode | Prism::ClassNode) { () -> void } -> void
63
+ def with_context(node)
64
+ constant_path = node.constant_path
65
+ raise if constant_path.is_a?(Prism::MissingNode) || constant_path.is_a?(Prism::CallNode)
66
+
67
+ names = constant_path.full_name_parts
68
+ @context.push(*names)
69
+
70
+ yield
71
+
72
+ @context.pop(names.size)
73
+ end
61
74
  end
62
75
  end
63
76
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RBS
4
4
  class Trace
5
- VERSION = "0.5.0"
5
+ VERSION = "0.5.1"
6
6
  end
7
7
  end
@@ -22,6 +22,9 @@ module RBS
22
22
 
23
23
  # @rbs (Symbol) -> AST::Members::MethodDefinition?
24
24
  def find_method_definition: (Symbol) -> AST::Members::MethodDefinition?
25
+
26
+ # @rbs (Prism::ModuleNode | Prism::ClassNode) { () -> void } -> void
27
+ def with_context: (Prism::ModuleNode | Prism::ClassNode) { () -> void } -> void
25
28
  end
26
29
  end
27
30
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs-trace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takumi Shotoku
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-30 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: prism
@@ -88,8 +88,8 @@ licenses:
88
88
  - MIT
89
89
  metadata:
90
90
  homepage_uri: https://github.com/sinsoku/rbs-trace
91
- source_code_uri: https://github.com/sinsoku/rbs-trace/tree/v0.5.0
92
- changelog_uri: https://github.com/sinsoku/rbs-trace/blob/v0.5.0/CHANGELOG.md
91
+ source_code_uri: https://github.com/sinsoku/rbs-trace/tree/v0.5.1
92
+ changelog_uri: https://github.com/sinsoku/rbs-trace/blob/v0.5.1/CHANGELOG.md
93
93
  rubygems_mfa_required: 'true'
94
94
  rdoc_options: []
95
95
  require_paths:
@@ -105,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
105
  - !ruby/object:Gem::Version
106
106
  version: '0'
107
107
  requirements: []
108
- rubygems_version: 3.6.2
108
+ rubygems_version: 3.6.7
109
109
  specification_version: 4
110
110
  summary: Automatically Insert inline RBS type declarations using runtime information.
111
111
  test_files: []