orthoses 1.2.0 → 1.3.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 +4 -4
- data/Gemfile.lock +10 -8
- data/lib/orthoses/content.rb +13 -2
- data/lib/orthoses/create_file_by_name.rb +1 -1
- data/lib/orthoses/outputable/constantizable_filter.rb +32 -0
- data/lib/orthoses/outputable/uniq_content_body.rb +1 -6
- data/lib/orthoses/outputable.rb +2 -0
- data/lib/orthoses/version.rb +1 -1
- data/sig/orthoses/attribute/hook.rbs +3 -0
- data/sig/orthoses/call_tracer/capturable.rbs +2 -0
- data/sig/orthoses/content.rbs +1 -0
- data/sig/orthoses/mixin/hook.rbs +2 -0
- data/sig/orthoses/outputable/constantizable_filter.rbs +6 -0
- data/sig/orthoses/utils.rbs +12 -0
- data/sig/orthoses.rbs +5 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 758b4661d8c0df218aa722a78505efee6dec692b601aad81e660c86444389f5e
|
4
|
+
data.tar.gz: bcfbe10b12f0d3ef2444a7461d2a5004410b89b8d88ef3c100fb6e88f3325e6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b8813677299e76fe253d87e0ab8460ba596c0c6805225767525c60c7f9845bc62cdd9e4f491cb8a2a6197ae473deacd15e78ce29f209305e7e3b1a86a391661
|
7
|
+
data.tar.gz: b3979ddfbc4f209ce221c2e93e0a80c7d7120d0ef541d6f0061777db7f30b290170fae324aa3d3c4e6d99fbbd37c96a166473aefcc10b404647a5b4bfa0250f3
|
data/Gemfile.lock
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
orthoses (1.
|
4
|
+
orthoses (1.3.0)
|
5
5
|
rbs (~> 2.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
activesupport (7.0.
|
10
|
+
activesupport (7.0.4)
|
11
11
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
12
12
|
i18n (>= 1.6, < 2)
|
13
13
|
minitest (>= 5.1)
|
@@ -17,7 +17,7 @@ GEM
|
|
17
17
|
ffi (1.15.5)
|
18
18
|
i18n (1.12.0)
|
19
19
|
concurrent-ruby (~> 1.0)
|
20
|
-
language_server-protocol (3.17.0.
|
20
|
+
language_server-protocol (3.17.0.1)
|
21
21
|
listen (3.7.1)
|
22
22
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
23
23
|
rb-inotify (~> 0.9, >= 0.9.10)
|
@@ -27,25 +27,27 @@ GEM
|
|
27
27
|
ast (~> 2.4.1)
|
28
28
|
rainbow (3.1.1)
|
29
29
|
rake (13.0.6)
|
30
|
-
rb-fsevent (0.11.
|
30
|
+
rb-fsevent (0.11.2)
|
31
31
|
rb-inotify (0.10.1)
|
32
32
|
ffi (~> 1.0)
|
33
|
-
rbs (2.
|
33
|
+
rbs (2.7.0)
|
34
34
|
rgot (1.1.0)
|
35
|
-
|
35
|
+
securerandom (0.2.0)
|
36
|
+
steep (1.2.0)
|
36
37
|
activesupport (>= 5.1)
|
37
38
|
language_server-protocol (>= 3.15, < 4.0)
|
38
39
|
listen (~> 3.0)
|
39
40
|
parallel (>= 1.0.0)
|
40
41
|
parser (>= 3.1)
|
41
42
|
rainbow (>= 2.2.2, < 4.0)
|
42
|
-
rbs (>= 2.
|
43
|
+
rbs (>= 2.7.0)
|
44
|
+
securerandom (>= 0.1)
|
43
45
|
terminal-table (>= 2, < 4)
|
44
46
|
terminal-table (3.0.2)
|
45
47
|
unicode-display_width (>= 1.1.1, < 3)
|
46
48
|
tzinfo (2.0.5)
|
47
49
|
concurrent-ruby (~> 1.0)
|
48
|
-
unicode-display_width (2.
|
50
|
+
unicode-display_width (2.3.0)
|
49
51
|
|
50
52
|
PLATFORMS
|
51
53
|
ruby
|
data/lib/orthoses/content.rb
CHANGED
@@ -27,13 +27,16 @@ module Orthoses
|
|
27
27
|
@body = []
|
28
28
|
@header = nil
|
29
29
|
@comment = nil
|
30
|
+
@uniq = false
|
30
31
|
end
|
31
32
|
|
32
33
|
def <<(line)
|
34
|
+
@uniq = false
|
33
35
|
@body << line
|
34
36
|
end
|
35
37
|
|
36
38
|
def concat(other)
|
39
|
+
@uniq = false
|
37
40
|
@body.concat(other)
|
38
41
|
end
|
39
42
|
|
@@ -41,7 +44,12 @@ module Orthoses
|
|
41
44
|
@body.empty?
|
42
45
|
end
|
43
46
|
|
47
|
+
def interface?
|
48
|
+
@name.split('::').last.start_with?('_')
|
49
|
+
end
|
50
|
+
|
44
51
|
def delete(val)
|
52
|
+
@uniq = false
|
45
53
|
@body.delete(val)
|
46
54
|
end
|
47
55
|
|
@@ -107,7 +115,10 @@ module Orthoses
|
|
107
115
|
end
|
108
116
|
parsed_decl = parsed_decls.first or raise
|
109
117
|
parsed_decl.tap do |decl|
|
110
|
-
|
118
|
+
if !@uniq
|
119
|
+
DuplicationChecker.new(decl).update_decl
|
120
|
+
@uniq = true
|
121
|
+
end
|
111
122
|
end
|
112
123
|
rescue RBS::ParsingError
|
113
124
|
Orthoses.logger.error "```rbs\n#{original_rbs}```"
|
@@ -123,7 +134,7 @@ module Orthoses
|
|
123
134
|
|
124
135
|
return unless @header.nil?
|
125
136
|
|
126
|
-
if
|
137
|
+
if interface?
|
127
138
|
self.header = "interface #{name}"
|
128
139
|
return
|
129
140
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Orthoses
|
4
|
+
module Outputable
|
5
|
+
# Constantizable is an internal middleware
|
6
|
+
# It's using on orthoses/outputable.rb
|
7
|
+
class ConstantizableFilter
|
8
|
+
def initialize(loader)
|
9
|
+
@loader = loader
|
10
|
+
end
|
11
|
+
|
12
|
+
def call
|
13
|
+
@loader.call.tap do |store|
|
14
|
+
failures = []
|
15
|
+
store.each do |name, content|
|
16
|
+
next if content.header
|
17
|
+
next if content.interface?
|
18
|
+
|
19
|
+
begin
|
20
|
+
Object.const_get(name)
|
21
|
+
rescue NameError, LoadError => err
|
22
|
+
Orthoses.logger.error(err.inspect)
|
23
|
+
failures << name
|
24
|
+
next
|
25
|
+
end
|
26
|
+
end
|
27
|
+
failures.each { |name| store.delete(name) }
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/orthoses/outputable.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'orthoses/outputable/avoid_recursive_ancestor_error'
|
4
|
+
require 'orthoses/outputable/constantizable_filter'
|
4
5
|
require 'orthoses/outputable/uniq_content_body'
|
5
6
|
|
6
7
|
module Orthoses
|
@@ -16,6 +17,7 @@ module Orthoses
|
|
16
17
|
module Outputable
|
17
18
|
def call
|
18
19
|
@loader = AvoidRecursiveAncestorError.new(@loader)
|
20
|
+
@loader = ConstantizableFilter.new(@loader)
|
19
21
|
@loader = UniqContentBody.new(@loader)
|
20
22
|
super
|
21
23
|
end
|
data/lib/orthoses/version.rb
CHANGED
data/sig/orthoses/content.rbs
CHANGED
data/sig/orthoses/mixin/hook.rbs
CHANGED
data/sig/orthoses/utils.rbs
CHANGED
@@ -2,16 +2,28 @@
|
|
2
2
|
|
3
3
|
module Orthoses::Utils
|
4
4
|
def self.unautoload!: () -> untyped
|
5
|
+
|
5
6
|
def self.each_const_recursive: (Module root, ?cache: Hash[untyped, true], ?on_error: ^(Orthoses::ConstLoadError) -> void) ?{ (Module, Symbol, untyped) -> void } -> void
|
7
|
+
|
6
8
|
def self.rbs_defined_const?: (String name, ?library: (String | Array[String])?, ?collection: boolish) -> bool
|
9
|
+
|
7
10
|
def self.rbs_defined_class?: (String name, ?library: (String | Array[String])?, ?collection: boolish) -> bool
|
11
|
+
|
8
12
|
def self.rbs_type_name: (String) -> RBS::TypeName
|
13
|
+
|
9
14
|
def self.rbs_environment: (?library: String | Array[String] | nil, ?collection: boolish, ?cache: boolish) -> RBS::Environment
|
15
|
+
|
10
16
|
def self.object_to_rbs: (untyped object, strict: bool) -> String
|
17
|
+
|
11
18
|
def self.module_name: (Module mod) -> String?
|
19
|
+
|
12
20
|
def self.module_to_type_name: (Module) -> RBS::TypeName?
|
21
|
+
|
13
22
|
def self.known_type_params: (Module | String) -> Array[RBS::AST::TypeParam]?
|
23
|
+
|
14
24
|
def self.new_store: () -> Orthoses::store
|
25
|
+
|
15
26
|
UNBOUND_NAME_METHOD: UnboundMethod
|
27
|
+
|
16
28
|
attr_accessor self.rbs_collection_pathname: Pathname
|
17
29
|
end
|
data/sig/orthoses.rbs
CHANGED
@@ -1,9 +1,13 @@
|
|
1
1
|
# THIS IS GENERATED CODE from `$ rake generate_self_sig`
|
2
2
|
|
3
3
|
module Orthoses
|
4
|
-
VERSION: "1.
|
4
|
+
VERSION: "1.3.0"
|
5
|
+
|
5
6
|
attr_accessor self.logger: ::Logger
|
7
|
+
|
6
8
|
type store = Hash[String, Orthoses::Content]
|
9
|
+
|
7
10
|
INSTANCE_METHOD_METHOD: UnboundMethod
|
11
|
+
|
8
12
|
METHOD_METHOD: UnboundMethod
|
9
13
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: orthoses
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ksss
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-10-
|
11
|
+
date: 2022-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rbs
|
@@ -60,6 +60,7 @@ files:
|
|
60
60
|
- lib/orthoses/object_space_all.rb
|
61
61
|
- lib/orthoses/outputable.rb
|
62
62
|
- lib/orthoses/outputable/avoid_recursive_ancestor_error.rb
|
63
|
+
- lib/orthoses/outputable/constantizable_filter.rb
|
63
64
|
- lib/orthoses/outputable/uniq_content_body.rb
|
64
65
|
- lib/orthoses/path_helper.rb
|
65
66
|
- lib/orthoses/pp.rb
|
@@ -105,6 +106,7 @@ files:
|
|
105
106
|
- sig/orthoses/object_space_all.rbs
|
106
107
|
- sig/orthoses/outputable.rbs
|
107
108
|
- sig/orthoses/outputable/avoid_recursive_ancestor_error.rbs
|
109
|
+
- sig/orthoses/outputable/constantizable_filter.rbs
|
108
110
|
- sig/orthoses/outputable/uniq_content_body.rbs
|
109
111
|
- sig/orthoses/path_helper.rbs
|
110
112
|
- sig/orthoses/pp.rbs
|