orthoses 1.2.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0520f0eccc23c9e57186592193f7c30175b59aa1364bcf5de49f1bcbff0a68d5
4
- data.tar.gz: deaeb9dd3baed337b22a0b6990bbddd98df1c282c1dc6269edeb3a78060abae1
3
+ metadata.gz: 4ee37ddf25be5bbed113698301a2aeafb3b50e7af1da412b9a1fc6afad18d8c2
4
+ data.tar.gz: '075957101080441e02f4129303e766ecdfe1e7f30616177bc41a2cbf41f521f8'
5
5
  SHA512:
6
- metadata.gz: 94037bb0ff51e74b055e8282048d818ca051a102fdcdb16f64dc00c1a83194bcd4a721d68c9dbf43e47a691b66ef7b992b319a69fff4b0afc9374cdf8001d0a2
7
- data.tar.gz: 27611b811fead68b26ccd941d5111039ad7fddb0fdaad6d0509bf9b5d6bdfc29783daab517a959389a95890eba75ce57b5933a9c26158f17b3a2d8d0ab2948ff
6
+ metadata.gz: 98c1cff14563ecf14713890e56bddb053d6f128aacad7ff23b6f96cc8b2c338cbea511cc668ac18079ec921cb0183b145f6b26a3c04403a98e8aa0bf734942f7
7
+ data.tar.gz: 5dd573a63a6998e3a1fac1dd94f292dd80742185277124f6449ded149be662b74995815bad629157fc553cb8bef15bb31b123fdbcdccb1af3dff4d2645bc0da2
data/Gemfile.lock CHANGED
@@ -1,51 +1,63 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- orthoses (1.2.0)
4
+ orthoses (1.4.0)
5
5
  rbs (~> 2.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (7.0.3.1)
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)
14
14
  tzinfo (~> 2.0)
15
15
  ast (2.4.2)
16
16
  concurrent-ruby (1.1.10)
17
+ csv (3.2.5)
17
18
  ffi (1.15.5)
19
+ fileutils (1.6.0)
18
20
  i18n (1.12.0)
19
21
  concurrent-ruby (~> 1.0)
20
- language_server-protocol (3.17.0.0)
22
+ json (2.6.2)
23
+ language_server-protocol (3.17.0.1)
21
24
  listen (3.7.1)
22
25
  rb-fsevent (~> 0.10, >= 0.10.3)
23
26
  rb-inotify (~> 0.9, >= 0.9.10)
27
+ logger (1.5.1)
24
28
  minitest (5.16.3)
25
29
  parallel (1.22.1)
26
30
  parser (3.1.2.1)
27
31
  ast (~> 2.4.1)
28
32
  rainbow (3.1.1)
29
33
  rake (13.0.6)
30
- rb-fsevent (0.11.1)
34
+ rb-fsevent (0.11.2)
31
35
  rb-inotify (0.10.1)
32
36
  ffi (~> 1.0)
33
- rbs (2.6.0)
37
+ rbs (2.7.0)
34
38
  rgot (1.1.0)
35
- steep (1.1.1)
39
+ securerandom (0.2.0)
40
+ steep (1.2.1)
36
41
  activesupport (>= 5.1)
42
+ csv (>= 3.0.9)
43
+ fileutils (>= 1.1.0)
44
+ json (>= 2.1.0)
37
45
  language_server-protocol (>= 3.15, < 4.0)
38
46
  listen (~> 3.0)
47
+ logger (>= 1.3.0)
39
48
  parallel (>= 1.0.0)
40
49
  parser (>= 3.1)
41
50
  rainbow (>= 2.2.2, < 4.0)
42
- rbs (>= 2.3.2)
51
+ rbs (>= 2.7.0)
52
+ securerandom (>= 0.1)
53
+ strscan (>= 1.0.0)
43
54
  terminal-table (>= 2, < 4)
55
+ strscan (3.0.4)
44
56
  terminal-table (3.0.2)
45
57
  unicode-display_width (>= 1.1.1, < 3)
46
58
  tzinfo (2.0.5)
47
59
  concurrent-ruby (~> 1.0)
48
- unicode-display_width (2.2.0)
60
+ unicode-display_width (2.3.0)
49
61
 
50
62
  PLATFORMS
51
63
  ruby
@@ -41,6 +41,10 @@ module Orthoses
41
41
  @body.empty?
42
42
  end
43
43
 
44
+ def interface?
45
+ @name.split('::').last.start_with?('_')
46
+ end
47
+
44
48
  def delete(val)
45
49
  @body.delete(val)
46
50
  end
@@ -123,7 +127,7 @@ module Orthoses
123
127
 
124
128
  return unless @header.nil?
125
129
 
126
- if name.split('::').last.start_with?('_')
130
+ if interface?
127
131
  self.header = "interface #{name}"
128
132
  return
129
133
  end
@@ -28,7 +28,7 @@ module Orthoses
28
28
  out.puts @header
29
29
  out.puts
30
30
  end
31
- out.puts content.original_rbs
31
+ out.puts content.to_rbs
32
32
  end
33
33
  Orthoses.logger.info("Generate file to #{file_path.to_s}")
34
34
  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
@@ -12,12 +12,7 @@ module Orthoses
12
12
  def call
13
13
  @loader.call.tap do |store|
14
14
  store.each do |name, content|
15
- begin
16
- content.uniq!
17
- rescue NameError, LoadError => err
18
- Orthoses.logger.error(err.inspect)
19
- next
20
- end
15
+ content.uniq!
21
16
  end
22
17
  end
23
18
  end
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Orthoses
4
- VERSION = "1.2.0"
4
+ VERSION = "1.4.0"
5
5
  end
@@ -2,7 +2,10 @@
2
2
 
3
3
  module Orthoses::Attribute::Hook
4
4
  def attr: (*untyped names) -> untyped
5
+
5
6
  def attr_accessor: (*untyped names) -> untyped
7
+
6
8
  def attr_reader: (*untyped names) -> untyped
9
+
7
10
  def attr_writer: (*untyped names) -> untyped
8
11
  end
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Orthoses::CallTracer::Capturable
4
4
  def build_capture: (untyped tp) -> untyped
5
+
5
6
  private def build_method: (untyped tp) -> untyped
7
+
6
8
  private def build_argument: (untyped tp) -> untyped
7
9
  end
@@ -5,6 +5,7 @@ class Orthoses::Content
5
5
  def <<: (String) -> void
6
6
  def concat: (Array[String]) -> void
7
7
  def empty?: () -> untyped
8
+ def interface?: () -> untyped
8
9
  def delete: (untyped val) -> untyped
9
10
  def to_rbs: () -> String
10
11
  def to_decl: () -> untyped
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Orthoses::Mixin::Hook
4
4
  def include: (*untyped modules) -> untyped
5
+
5
6
  def extend: (*untyped modules) -> untyped
7
+
6
8
  def prepend: (*untyped modules) -> untyped
7
9
  end
@@ -0,0 +1,6 @@
1
+ # THIS IS GENERATED CODE from `$ rake generate_self_sig`
2
+
3
+ class Orthoses::Outputable::ConstantizableFilter
4
+ def initialize: (untyped loader) -> void
5
+ def call: () -> untyped
6
+ end
@@ -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.2.0"
4
+ VERSION: "1.4.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.2.0
4
+ version: 1.4.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-08 00:00:00.000000000 Z
11
+ date: 2022-10-22 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