orthoses 0.2.0 → 0.3.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: c2fbbb509545bf6efd770838fff4ac02168f0352f0f2e2561ed927eb3479a4bb
4
- data.tar.gz: 259b1cf53cc3b2ea17ec3d6088260131ccd9d8562ec002b0d515cb817b96d228
3
+ metadata.gz: 2d5b96650f0b18fdb84d67bc6821887ac974e529bf13e05c079ad703645a0583
4
+ data.tar.gz: 50a0101c732e7a66d166e0ff4a3f6fd439d7c50ab2985ffb49c618e698f5873f
5
5
  SHA512:
6
- metadata.gz: 50aceef69e828e6fbd90cbb23813bd66676b399d4a5551728eebf9ae8c24544aeda11c7d57810826575c53b215da541d232eb5a8ecb26fb9cf2d5a99822c7a91
7
- data.tar.gz: 36972f90ecdf75efa516c2fb576ea616f2b949a5930463f01ff9046335ae6571d7e98f9c33593bee21397cd29754da4abdfea038c956eaaa74d92deded56ba71
6
+ metadata.gz: 2a9443b508c4dbb2518c656d34441fcedf4d571254834b375a99d97fd3c1443dd8bc4ef165c48334a66e64267efa7e9da7db43f9fcfea7c96d90a023f83e25b9
7
+ data.tar.gz: aa13ee94cb12d5729204fa8ecd926142bf56c58f30e9a6e13ee1c73914748fda0d752d3aeb7d31292de677c8ad4c19c5dd8636d919b05664b154cd4d62e0188a
data/Gemfile.lock ADDED
@@ -0,0 +1,61 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ orthoses (0.3.0)
5
+ rbs (~> 2.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activesupport (7.0.3)
11
+ concurrent-ruby (~> 1.0, >= 1.0.2)
12
+ i18n (>= 1.6, < 2)
13
+ minitest (>= 5.1)
14
+ tzinfo (~> 2.0)
15
+ ast (2.4.2)
16
+ concurrent-ruby (1.1.10)
17
+ ffi (1.15.5)
18
+ i18n (1.10.0)
19
+ concurrent-ruby (~> 1.0)
20
+ language_server-protocol (3.16.0.3)
21
+ listen (3.7.1)
22
+ rb-fsevent (~> 0.10, >= 0.10.3)
23
+ rb-inotify (~> 0.9, >= 0.9.10)
24
+ minitest (5.15.0)
25
+ parallel (1.22.1)
26
+ parser (3.1.2.0)
27
+ ast (~> 2.4.1)
28
+ rainbow (3.1.1)
29
+ rake (13.0.6)
30
+ rb-fsevent (0.11.1)
31
+ rb-inotify (0.10.1)
32
+ ffi (~> 1.0)
33
+ rbs (2.4.0)
34
+ rgot (1.1.0)
35
+ steep (0.52.2)
36
+ activesupport (>= 5.1)
37
+ language_server-protocol (>= 3.15, < 4.0)
38
+ listen (~> 3.0)
39
+ parallel (>= 1.0.0)
40
+ parser (>= 3.0)
41
+ rainbow (>= 2.2.2, < 4.0)
42
+ rbs (>= 2.3.2)
43
+ terminal-table (>= 2, < 4)
44
+ terminal-table (3.0.2)
45
+ unicode-display_width (>= 1.1.1, < 3)
46
+ tzinfo (2.0.4)
47
+ concurrent-ruby (~> 1.0)
48
+ unicode-display_width (2.1.0)
49
+
50
+ PLATFORMS
51
+ ruby
52
+
53
+ DEPENDENCIES
54
+ activesupport
55
+ orthoses!
56
+ rake (~> 13.0)
57
+ rgot (~> 1.1)
58
+ steep
59
+
60
+ BUNDLED WITH
61
+ 2.3.9
data/README.md CHANGED
@@ -89,6 +89,18 @@ This is very useful for middleware development and debugging.
89
89
  If a class is defined using the `DelegateClass` method
90
90
  RBS is automatically generated as inherited.
91
91
 
92
+ ### Orthoses::Writer
93
+
94
+ Write output RBS to `io` option object.
95
+ `io` should be able to call `#write` method.
96
+ This is useful when you want to combine outputs into a single output.
97
+
98
+ ### Orthoses::RBSPrototypeRB
99
+
100
+ Run `rbs prototype rb` command process to `paths` option files.
101
+ `content_filter` option could filter with content decl.
102
+ `mixin_filter` option could filter with mixin(include, extend, prepend) decl.
103
+
92
104
  .rb
93
105
 
94
106
  ```rb
@@ -20,7 +20,7 @@ module Orthoses
20
20
  end
21
21
 
22
22
  def trace(target, &block)
23
- TracePoint.new(:call) do |tp|
23
+ t = TracePoint.new(:call) do |tp|
24
24
  called_method = tp.self.method(tp.method_id)
25
25
  argument = tp.parameters.each_with_object({}) do |op_name, hash|
26
26
  name = op_name[1]
@@ -47,7 +47,8 @@ module Orthoses
47
47
  end
48
48
  end
49
49
  @result << [called_method, argument]
50
- end.enable(target: target, &block)
50
+ end
51
+ t.enable(target: target, &block)
51
52
  end
52
53
  end
53
54
  end
@@ -0,0 +1,109 @@
1
+ module Orthoses
2
+ class Content
3
+ class Environment
4
+ def initialize(constant_filter: nil, mixin_filter: nil)
5
+ @env = RBS::Environment.new
6
+ @constant_filter = constant_filter
7
+ @mixin_filter = mixin_filter
8
+ end
9
+
10
+ def <<(decl)
11
+ @env << decl
12
+ end
13
+
14
+ def write_to(store:)
15
+ each do |add_content|
16
+ content = store[add_content.name]
17
+ # content.header = add_content.header
18
+ content.concat(add_content.body)
19
+ end
20
+ end
21
+
22
+ def each
23
+ each_class do |content|
24
+ yield content
25
+ end
26
+ each_interface do |content|
27
+ yield content
28
+ end
29
+ end
30
+
31
+ private
32
+
33
+ def each_class
34
+ @env.class_decls.each do |type_name, m_entry|
35
+ name = type_name.relative!.to_s
36
+ content = Content.new(name: name)
37
+ case decl = m_entry.decls.first.decl
38
+ when RBS::AST::Declarations::Module
39
+ self_types = decl.self_types.empty? ? nil : " : #{decl.self_types.join(', ')}"
40
+ content.header = "module #{name_and_params(name, decl.type_params)}#{self_types}"
41
+ when RBS::AST::Declarations::Class
42
+ super_class = decl.super_class.nil? ? nil : " < #{name_and_args(decl.super_class.name, decl.super_class.args)}"
43
+ content.header = "class #{name_and_params(name, decl.type_params)}#{super_class}"
44
+ else
45
+ raise
46
+ end
47
+ decls_to_lines(m_entry.decls.map(&:decl)).each do |line|
48
+ content << line
49
+ end
50
+ yield content
51
+ end
52
+ end
53
+
54
+ def each_interface
55
+ @env.interface_decls.each do |type_name, s_entry|
56
+ name = type_name.relative!.to_s
57
+ content = Content.new(name: name)
58
+ decl = s_entry.decl
59
+ content.header = "interface #{name_and_params(name, decl.type_params)}"
60
+ decls_to_lines([decl]).each do |line|
61
+ content << line
62
+ end
63
+ yield content
64
+ end
65
+ end
66
+
67
+ def name_and_params(name, params)
68
+ if params.empty?
69
+ "#{name}"
70
+ else
71
+ ps = params.each.map do |param|
72
+ param.to_s
73
+ end
74
+
75
+ "#{name}[#{ps.join(", ")}]"
76
+ end
77
+ end
78
+
79
+ def name_and_args(name, args)
80
+ if name && args
81
+ if args.empty?
82
+ "#{name}"
83
+ else
84
+ "#{name}[#{args.join(", ")}]"
85
+ end
86
+ end
87
+ end
88
+
89
+ def decls_to_lines(decls)
90
+ out = StringIO.new
91
+ writer = RBS::Writer.new(out: out)
92
+ decls.each do |decl|
93
+ next unless decl.respond_to?(:members)
94
+ decl.members.each do |member|
95
+ next if member.respond_to?(:members)
96
+ case member
97
+ when RBS::AST::Declarations::Constant
98
+ next unless @constant_filter.nil? || @constant_filter.call(member)
99
+ when RBS::AST::Members::Mixin
100
+ next unless @mixin_filter.nil? || @mixin_filter.call(member)
101
+ end
102
+ writer.write_member(member)
103
+ end
104
+ end
105
+ out.string.each_line(chomp: true).to_a
106
+ end
107
+ end
108
+ end
109
+ end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'orthoses/content/duplication_checker'
4
+ require 'orthoses/content/environment'
4
5
 
5
6
  module Orthoses
6
7
  # Common interface for output.
@@ -44,6 +45,11 @@ module Orthoses
44
45
  private
45
46
 
46
47
  def auto_header
48
+ if name.split('::').last.start_with?('_')
49
+ self.header = "interface #{name}"
50
+ return
51
+ end
52
+
47
53
  val = Object.const_get(name)
48
54
 
49
55
  case val
@@ -28,6 +28,12 @@ module Orthoses
28
28
  store = @loader.call
29
29
 
30
30
  store.each do |name, content|
31
+ rbs = begin
32
+ content.to_rbs
33
+ rescue NameError, LoadError => err
34
+ Orthoses.logger.error(err.inspect)
35
+ next
36
+ end
31
37
  file_path = Pathname("#{@base_dir}/#{name.to_s.split('::').map(&:underscore).join('/')}.rbs")
32
38
  file_path.dirname.mkpath
33
39
  file_path.open('w+') do |out|
@@ -35,7 +41,7 @@ module Orthoses
35
41
  out.puts @header
36
42
  out.puts
37
43
  end
38
- out.puts content.to_rbs
44
+ out.puts rbs
39
45
  end
40
46
  Orthoses.logger.info("Generate file to #{file_path.to_s}")
41
47
  end
@@ -29,7 +29,6 @@ module Orthoses
29
29
  next unless subclass_name
30
30
  delegate_to_class_name = Utils.module_name(delegate_to_class)
31
31
  next unless delegate_to_class_name
32
- next unless store[subclass_name].header.nil?
33
32
 
34
33
  header = "class #{subclass_name} < ::#{delegate_to_class_name}#{temporary_type_params(delegate_to_class_name)}"
35
34
  store[subclass_name].header = header
@@ -11,79 +11,16 @@ module Orthoses
11
11
 
12
12
  def call
13
13
  @loader.call.tap do |store|
14
- tmp_env = RBS::Environment.new
15
-
14
+ env = Content::Environment.new
16
15
  @paths.each do |path|
17
16
  Orthoses.logger.debug("Load #{path}")
18
17
  buffer = RBS::Buffer.new(name: path.to_s, content: File.read(path.to_s, encoding: "UTF-8"))
19
- decls = RBS::Parser.parse_signature(buffer)
20
- decls.each { |decl| tmp_env << decl }
21
- end
22
-
23
- tmp_env.class_decls.each do |type_name, m_entry|
24
- name = type_name.relative!.to_s
25
- content = store[name]
26
- case decl = m_entry.decls.first.decl
27
- when RBS::AST::Declarations::Module
28
- self_types = decl.self_types.empty? ? nil : " : #{decl.self_types.join(', ')}"
29
- content.header = "module #{name_and_params(name, decl.type_params)}#{self_types}"
30
- when RBS::AST::Declarations::Class
31
- super_class = decl.super_class.nil? ? nil : " < #{name_and_args(decl.super_class.name, decl.super_class.args)}"
32
- content.header = "class #{name_and_params(name, decl.type_params)}#{super_class}"
33
- end
34
- decls_to_lines(m_entry.decls.map(&:decl)).each do |line|
35
- content << line
36
- end
37
- end
38
-
39
- tmp_env.interface_decls.each do |type_name, s_entry|
40
- name = type_name.relative!.to_s
41
- content = store[name]
42
- decl = s_entry.decl
43
- content.header = "interface #{name_and_params(name, decl.type_params)}"
44
- decls_to_lines([decl]).each do |line|
45
- content << line
46
- end
47
- end
48
- end
49
- end
50
-
51
- private
52
-
53
- def name_and_params(name, params)
54
- if params.empty?
55
- "#{name}"
56
- else
57
- ps = params.each.map do |param|
58
- param.to_s
59
- end
60
-
61
- "#{name}[#{ps.join(", ")}]"
62
- end
63
- end
64
-
65
- def name_and_args(name, args)
66
- if name && args
67
- if args.empty?
68
- "#{name}"
69
- else
70
- "#{name}[#{args.join(", ")}]"
71
- end
72
- end
73
- end
74
-
75
- def decls_to_lines(decls)
76
- out = StringIO.new
77
- writer = RBS::Writer.new(out: out)
78
- decls.each do |decl|
79
- if decl.respond_to?(:members)
80
- decl.members.each do |member|
81
- next if member.respond_to?(:members)
82
- writer.write_member(member)
18
+ RBS::Parser.parse_signature(buffer).each do |decl|
19
+ env << decl
83
20
  end
84
21
  end
22
+ env.write_to(store: store)
85
23
  end
86
- out.string.each_line(chomp: true).to_a
87
24
  end
88
25
  end
89
26
  end
@@ -0,0 +1,34 @@
1
+ module Orthoses
2
+ # Call `rbs prototype rb` and add to store
3
+ # use Orthoses::RBSPrototypeRB,
4
+ # paths: Dir.glob("lib/**/*.rb")
5
+ class RBSPrototypeRB
6
+ def initialize(loader, paths:, constant_filter: nil, mixin_filter: nil)
7
+ @loader = loader
8
+ @paths = paths
9
+ @constant_filter = constant_filter
10
+ @mixin_filter = mixin_filter
11
+ end
12
+
13
+ def call
14
+ @loader.call.tap do |store|
15
+ parser = RBS::Prototype::RB.new
16
+ @paths.each do |path|
17
+ begin
18
+ parser.parse File.read(path.to_s)
19
+ rescue => err
20
+ Orthoses.logger.error("Parse error #{err.inspect} by RBS::Prototype::RB #{path}")
21
+ end
22
+ end
23
+ env = Orthoses::Content::Environment.new(
24
+ constant_filter: @constant_filter,
25
+ mixin_filter: @mixin_filter,
26
+ )
27
+ parser.decls.each do |decl|
28
+ env << decl
29
+ end
30
+ env.write_to(store: store)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -63,11 +63,11 @@ module Orthoses
63
63
  when "stdlib"
64
64
  RBS::Repository::DEFAULT_STDLIB_ROOT.each_entry do |path|
65
65
  lib = path.to_s
66
- loader.add(library: lib.to_s) unless lib == "." || lib == ".."
66
+ loader.add(library: lib.to_s, version: nil) unless lib == "." || lib == ".."
67
67
  end
68
68
  else
69
69
  Array(library).each do |lib|
70
- loader.add(library: lib.to_s)
70
+ loader.add(library: lib.to_s, version: nil)
71
71
  end
72
72
  end
73
73
 
@@ -117,10 +117,13 @@ module Orthoses
117
117
  "{ #{object.map { |k, v| "#{k}: #{object_to_rbs(v, strict: strict)}" }.join(', ')} }"
118
118
  else
119
119
  keys = object.keys.map { |k| object_to_rbs(k, strict: strict) }.uniq
120
- values = object.values.map { |k| object_to_rbs(k, strict: strict) }.uniq
120
+ values = object.values.map { |v| object_to_rbs(v, strict: strict) }.uniq
121
121
  "Hash[#{keys.join(' | ')}, #{values.join(' | ')}]"
122
122
  end
123
123
  end
124
+ when ARGF
125
+ # see also https://github.com/ruby/rbs/pull/975
126
+ 'untyped'
124
127
  else
125
128
  Utils.module_name(object.class) || 'untyped'
126
129
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Orthoses
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
@@ -0,0 +1,16 @@
1
+ module Orthoses
2
+ class Writer
3
+ def initialize(loader, io:)
4
+ @loader = loader
5
+ @io = io
6
+ end
7
+
8
+ def call
9
+ @loader.call.tap do |store|
10
+ store.each do |name, content|
11
+ @io.write content.to_rbs
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
data/lib/orthoses.rb CHANGED
@@ -14,11 +14,13 @@ require_relative 'orthoses/mixin'
14
14
  require_relative 'orthoses/load_rbs'
15
15
  require_relative 'orthoses/object_space_all'
16
16
  require_relative 'orthoses/pp'
17
+ require_relative 'orthoses/rbs_prototype_rb'
17
18
  require_relative 'orthoses/store'
18
19
  require_relative 'orthoses/tap'
19
20
  require_relative 'orthoses/utils'
20
21
  require_relative 'orthoses/version'
21
22
  require_relative 'orthoses/walk'
23
+ require_relative 'orthoses/writer'
22
24
 
23
25
  module Orthoses
24
26
  class ConstLoadError < StandardError
@@ -2,4 +2,5 @@
2
2
 
3
3
  class Orthoses::CallTracer
4
4
  attr_accessor result: Array[[ Method, Hash[Symbol, untyped] ]]
5
+ def trace: [T] (Method | UnboundMethod) ?{ () -> T } -> T
5
6
  end
@@ -1,6 +1,6 @@
1
1
  # THIS IS GENERATED CODE from `$ rake generate_self_sig`
2
2
 
3
- class Orthoses::ConstLoadError < StandardError
3
+ class Orthoses::ConstLoadError < ::StandardError
4
4
  attr_reader root: Module
5
5
  attr_reader const: Symbol
6
6
  attr_reader error: untyped
@@ -0,0 +1,13 @@
1
+ # THIS IS GENERATED CODE from `$ rake generate_self_sig`
2
+
3
+ class Orthoses::Content::Environment
4
+ type constant_filter = ^(RBS::AST::Declarations::Constant) -> boolish
5
+ type mixin_filter = ^(RBS::AST::Members::Mixin) -> boolish
6
+ @env: RBS::Environment
7
+ @constant_filter: constant_filter?
8
+ @mixin_filter: mixin_filter?
9
+ def initialize: (?constant_filter: constant_filter?, ?mixin_filter: mixin_filter?) -> void
10
+ def <<: (RBS::AST::Declarations::t decl) -> RBS::Environment
11
+ def write_to: (store: Orthoses::store) -> void
12
+ def each: () { (Orthoses::Content) -> void } -> void
13
+ end
@@ -1,4 +1,7 @@
1
1
  # THIS IS GENERATED CODE from `$ rake generate_self_sig`
2
2
 
3
3
  class Orthoses::DelegateClass
4
+ @loader: Orthoses::_Call
5
+ include Orthoses::_MiddleWare
6
+ def initialize: (Orthoses::_Call loader) -> void
4
7
  end
@@ -1,4 +1,8 @@
1
1
  # THIS IS GENERATED CODE from `$ rake generate_self_sig`
2
2
 
3
3
  class Orthoses::LoadRBS
4
+ @loader: Orthoses::_Call
5
+ @paths: Array[_ToS]
6
+ include Orthoses::_MiddleWare
7
+ def initialize: (Orthoses::_Call loader, paths: Array[_ToS]) -> void
4
8
  end
@@ -1,4 +1,4 @@
1
1
  # THIS IS GENERATED CODE from `$ rake generate_self_sig`
2
2
 
3
- class Orthoses::NameSpaceError < StandardError
3
+ class Orthoses::NameSpaceError < ::StandardError
4
4
  end
@@ -1,4 +1,7 @@
1
1
  # THIS IS GENERATED CODE from `$ rake generate_self_sig`
2
2
 
3
3
  class Orthoses::ObjectSpaceAll
4
+ @loader: Orthoses::_Call
5
+ include Orthoses::_MiddleWare
6
+ def initialize: (Orthoses::_Call loader, ?if: ^(Module) -> boolish) -> void
4
7
  end
@@ -0,0 +1,10 @@
1
+ # THIS IS GENERATED CODE from `$ rake generate_self_sig`
2
+
3
+ class Orthoses::RBSPrototypeRB
4
+ @loader: Orthoses::_Call
5
+ include Orthoses::_MiddleWare
6
+ def initialize: (Orthoses::_Call loader, paths: Array[_ToS], ?constant_filter: Orthoses::Content::Environment::constant_filter?, ?mixin_filter: Orthoses::Content::Environment::mixin_filter?) -> void
7
+ @paths: Array[_ToS]
8
+ @constant_filter: Orthoses::Content::Environment::constant_filter?
9
+ @mixin_filter: Orthoses::Content::Environment::mixin_filter?
10
+ end
data/sig/orthoses/tap.rbs CHANGED
@@ -1,4 +1,7 @@
1
1
  # THIS IS GENERATED CODE from `$ rake generate_self_sig`
2
2
 
3
3
  class Orthoses::Tap
4
+ @loader: Orthoses::_Call
5
+ include Orthoses::_MiddleWare
6
+ def initialize: (Orthoses::_Call loader) -> void
4
7
  end
@@ -0,0 +1,7 @@
1
+ # THIS IS GENERATED CODE from `$ rake generate_self_sig`
2
+
3
+ class Orthoses::Writer
4
+ @loader: Orthoses::_Call
5
+ include Orthoses::_MiddleWare
6
+ def initialize: (Orthoses::_Call loader, io: _Writer) -> void
7
+ 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: 0.2.0
4
+ version: 0.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-05-09 00:00:00.000000000 Z
11
+ date: 2022-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbs
@@ -33,6 +33,7 @@ extra_rdoc_files: []
33
33
  files:
34
34
  - CODE_OF_CONDUCT.md
35
35
  - Gemfile
36
+ - Gemfile.lock
36
37
  - LICENSE.txt
37
38
  - README.md
38
39
  - lib/orthoses.rb
@@ -41,6 +42,7 @@ files:
41
42
  - lib/orthoses/constant.rb
42
43
  - lib/orthoses/content.rb
43
44
  - lib/orthoses/content/duplication_checker.rb
45
+ - lib/orthoses/content/environment.rb
44
46
  - lib/orthoses/create_file_by_name.rb
45
47
  - lib/orthoses/delegate_class.rb
46
48
  - lib/orthoses/filter.rb
@@ -48,11 +50,13 @@ files:
48
50
  - lib/orthoses/mixin.rb
49
51
  - lib/orthoses/object_space_all.rb
50
52
  - lib/orthoses/pp.rb
53
+ - lib/orthoses/rbs_prototype_rb.rb
51
54
  - lib/orthoses/store.rb
52
55
  - lib/orthoses/tap.rb
53
56
  - lib/orthoses/utils.rb
54
57
  - lib/orthoses/version.rb
55
58
  - lib/orthoses/walk.rb
59
+ - lib/orthoses/writer.rb
56
60
  - orthoses.gemspec
57
61
  - sig/orthoses.rbs
58
62
  - sig/orthoses/_call.rbs
@@ -64,6 +68,7 @@ files:
64
68
  - sig/orthoses/constant.rbs
65
69
  - sig/orthoses/content.rbs
66
70
  - sig/orthoses/content/duplication_checker.rbs
71
+ - sig/orthoses/content/environment.rbs
67
72
  - sig/orthoses/create_file_by_name.rbs
68
73
  - sig/orthoses/delegate_class.rbs
69
74
  - sig/orthoses/filter.rbs
@@ -72,10 +77,12 @@ files:
72
77
  - sig/orthoses/name_space_error.rbs
73
78
  - sig/orthoses/object_space_all.rbs
74
79
  - sig/orthoses/pp.rbs
80
+ - sig/orthoses/rbs_prototype_rb.rbs
75
81
  - sig/orthoses/store.rbs
76
82
  - sig/orthoses/tap.rbs
77
83
  - sig/orthoses/utils.rbs
78
84
  - sig/orthoses/walk.rbs
85
+ - sig/orthoses/writer.rbs
79
86
  homepage: https://github.com/ksss/orthoses
80
87
  licenses:
81
88
  - MIT
@@ -97,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
104
  - !ruby/object:Gem::Version
98
105
  version: '0'
99
106
  requirements: []
100
- rubygems_version: 3.4.0.dev
107
+ rubygems_version: 3.3.7
101
108
  signing_key:
102
109
  specification_version: 4
103
110
  summary: Framework for Generate RBS