rbs_rails 0.12.1 → 0.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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/.github/workflows/release.yml +27 -0
  4. data/CHANGELOG.md +56 -0
  5. data/Gemfile +7 -1
  6. data/Gemfile.lock +111 -93
  7. data/README.md +46 -1
  8. data/Rakefile +7 -2
  9. data/example/rbs_rails.rb +27 -0
  10. data/exe/rbs_rails +6 -0
  11. data/lib/generators/rbs_rails/install_generator.rb +1 -10
  12. data/lib/rbs_rails/active_record/enum.rb +81 -0
  13. data/lib/rbs_rails/active_record.rb +233 -143
  14. data/lib/rbs_rails/cli/configuration.rb +66 -0
  15. data/lib/rbs_rails/cli.rb +173 -0
  16. data/lib/rbs_rails/dependency_builder.rb +25 -8
  17. data/lib/rbs_rails/path_helpers.rb +14 -2
  18. data/lib/rbs_rails/rake_task.rb +38 -40
  19. data/lib/rbs_rails/util/file_writer.rb +22 -0
  20. data/lib/rbs_rails/util.rb +11 -4
  21. data/lib/rbs_rails/version.rb +1 -1
  22. data/lib/rbs_rails.rb +5 -2
  23. data/rbs_collection.lock.yaml +86 -38
  24. data/rbs_collection.yaml +1 -16
  25. data/rbs_rails.gemspec +1 -0
  26. data/sig/{install_generator.rbs → generators/rbs_rails/install_generator.rbs} +2 -0
  27. data/sig/rbs_rails/active_record/enum.rbs +26 -0
  28. data/sig/rbs_rails/active_record.rbs +67 -49
  29. data/sig/rbs_rails/cli/configuration.rbs +37 -0
  30. data/sig/rbs_rails/cli.rbs +35 -0
  31. data/sig/rbs_rails/dependency_builder.rbs +7 -3
  32. data/sig/rbs_rails/path_helpers.rbs +13 -6
  33. data/sig/rbs_rails/rake_task.rbs +7 -6
  34. data/sig/rbs_rails/util/file_writer.rbs +16 -0
  35. data/sig/rbs_rails/util.rbs +7 -2
  36. data/sig/rbs_rails/utils/file_writer.rbs +4 -0
  37. data/sig/rbs_rails/version.rbs +5 -1
  38. data/sig/rbs_rails.rbs +6 -3
  39. metadata +32 -8
  40. data/sig/_internal/activerecord.rbs +0 -4
  41. data/sig/parser.rbs +0 -14
  42. data/sig/rake.rbs +0 -6
@@ -1,26 +1,27 @@
1
+ # Generated from lib/rbs_rails/rake_task.rb with RBS::Inline
2
+
1
3
  module RbsRails
2
4
  class RakeTask < Rake::TaskLib
3
5
  interface _Filter
4
6
  def call: (Class) -> boolish
5
7
  end
8
+
6
9
  attr_accessor ignore_model_if: _Filter | nil
7
10
 
8
11
  attr_accessor name: Symbol
9
12
 
10
- attr_accessor signature_root_dir: Pathname
13
+ attr_writer signature_root_dir: Pathname?
11
14
 
15
+ # @rbs name: ::Symbol
16
+ # @rbs &block: (RbsRails::RakeTask) -> void
12
17
  def initialize: (?::Symbol name) { (RbsRails::RakeTask) -> void } -> void
13
18
 
14
19
  def def_all: () -> void
15
20
 
16
- def def_copy_signature_files: () -> void
17
-
18
21
  def def_generate_rbs_for_models: () -> void
19
22
 
20
23
  def def_generate_rbs_for_path_helpers: () -> void
21
24
 
22
- private
23
-
24
- def setup_signature_root_dir!: () -> void
25
+ private def signature_root_dir: () -> Pathname?
25
26
  end
26
27
  end
@@ -0,0 +1,16 @@
1
+ # Generated from lib/rbs_rails/util/file_writer.rb with RBS::Inline
2
+
3
+ module RbsRails
4
+ module Util
5
+ # To avoid unnecessary type reloading by type checkers and other utilities,
6
+ # FileWriter modifies the target file only if its content has been changed.
7
+ class FileWriter
8
+ attr_reader path: Pathname
9
+
10
+ # @rbs path: Pathname
11
+ def initialize: (Pathname path) -> void
12
+
13
+ def write: (untyped content) -> void
14
+ end
15
+ end
16
+ end
@@ -1,11 +1,16 @@
1
+ # Generated from lib/rbs_rails/util.rb with RBS::Inline
2
+
1
3
  module RbsRails
2
4
  module Util
3
5
  MODULE_NAME: UnboundMethod
4
6
 
5
7
  extend Util
6
8
 
7
- def module_name: (Module, ?abs: boolish) -> String
9
+ # @rbs mod: Module
10
+ # @rbs abs: boolish
11
+ def module_name: (Module mod, ?abs: boolish) -> String
8
12
 
9
- def format_rbs: (String) -> String
13
+ # @rbs rbs: String
14
+ def format_rbs: (String rbs) -> String
10
15
  end
11
16
  end
@@ -0,0 +1,4 @@
1
+ # Generated from lib/rbs_rails/utils/file_writer.rb with RBS::Inline
2
+
3
+ module RbsRails
4
+ end
@@ -1 +1,5 @@
1
- RbsRails::VERSION: ::String
1
+ # Generated from lib/rbs_rails/version.rb with RBS::Inline
2
+
3
+ module RbsRails
4
+ VERSION: String
5
+ end
data/sig/rbs_rails.rbs CHANGED
@@ -1,6 +1,9 @@
1
+ # Generated from lib/rbs_rails.rb with RBS::Inline
2
+
1
3
  module RbsRails
2
- def self.copy_signatures: (to: untyped to) -> untyped
3
- end
4
+ class Error < StandardError
5
+ end
4
6
 
5
- class RbsRails::Error < StandardError
7
+ # @rbs to: untyped
8
+ def self.copy_signatures: (to: untyped) -> untyped
6
9
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masataka Pocke Kuwabara
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2024-11-15 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: parser
@@ -23,6 +23,20 @@ dependencies:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: prism
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
26
40
  - !ruby/object:Gem::Dependency
27
41
  name: rbs
28
42
  requirement: !ruby/object:Gem::Requirement
@@ -40,12 +54,14 @@ dependencies:
40
54
  description: A RBS files generator for Rails application
41
55
  email:
42
56
  - kuwabara@pocke.me
43
- executables: []
57
+ executables:
58
+ - rbs_rails
44
59
  extensions: []
45
60
  extra_rdoc_files: []
46
61
  files:
47
62
  - ".dependabot/config.yml"
48
63
  - ".github/workflows/ci.yml"
64
+ - ".github/workflows/release.yml"
49
65
  - ".gitignore"
50
66
  - ".gitmodules"
51
67
  - CHANGELOG.md
@@ -62,27 +78,35 @@ files:
62
78
  - bin/rbs-prototype-rb.rb
63
79
  - bin/setup
64
80
  - bin/to-ascii.rb
81
+ - example/rbs_rails.rb
82
+ - exe/rbs_rails
65
83
  - lib/generators/rbs_rails/install_generator.rb
66
84
  - lib/rbs_rails.rb
67
85
  - lib/rbs_rails/active_record.rb
86
+ - lib/rbs_rails/active_record/enum.rb
87
+ - lib/rbs_rails/cli.rb
88
+ - lib/rbs_rails/cli/configuration.rb
68
89
  - lib/rbs_rails/dependency_builder.rb
69
90
  - lib/rbs_rails/path_helpers.rb
70
91
  - lib/rbs_rails/rake_task.rb
71
92
  - lib/rbs_rails/util.rb
93
+ - lib/rbs_rails/util/file_writer.rb
72
94
  - lib/rbs_rails/version.rb
73
95
  - rbs_collection.lock.yaml
74
96
  - rbs_collection.yaml
75
97
  - rbs_rails.gemspec
76
- - sig/_internal/activerecord.rbs
77
- - sig/install_generator.rbs
78
- - sig/parser.rbs
79
- - sig/rake.rbs
98
+ - sig/generators/rbs_rails/install_generator.rbs
80
99
  - sig/rbs_rails.rbs
81
100
  - sig/rbs_rails/active_record.rbs
101
+ - sig/rbs_rails/active_record/enum.rbs
102
+ - sig/rbs_rails/cli.rbs
103
+ - sig/rbs_rails/cli/configuration.rbs
82
104
  - sig/rbs_rails/dependency_builder.rbs
83
105
  - sig/rbs_rails/path_helpers.rbs
84
106
  - sig/rbs_rails/rake_task.rbs
85
107
  - sig/rbs_rails/util.rbs
108
+ - sig/rbs_rails/util/file_writer.rbs
109
+ - sig/rbs_rails/utils/file_writer.rbs
86
110
  - sig/rbs_rails/version.rbs
87
111
  homepage: https://github.com/pocke/rbs_rails
88
112
  licenses:
@@ -105,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
129
  - !ruby/object:Gem::Version
106
130
  version: '0'
107
131
  requirements: []
108
- rubygems_version: 3.6.0.dev
132
+ rubygems_version: 4.0.3
109
133
  specification_version: 4
110
134
  summary: A RBS files generator for Rails application
111
135
  test_files: []
@@ -1,4 +0,0 @@
1
- # TODO: Define it in gem_rbs_collection repository
2
- class ActiveRecord::Base
3
- def self.primary_key: () -> String
4
- end
data/sig/parser.rbs DELETED
@@ -1,14 +0,0 @@
1
- module Parser
2
- end
3
-
4
- class Parser::CurrentRuby
5
- def self.parse: (String) -> Parser::AST::Node
6
- end
7
-
8
- module Parser::AST
9
- end
10
-
11
- class Parser::AST::Node
12
- def type: () -> Symbol
13
- def children: () -> Array[untyped]
14
- end
data/sig/rake.rbs DELETED
@@ -1,6 +0,0 @@
1
- module Rake
2
- class TaskLib
3
- def desc: (String) -> void
4
- def task: (Hash[Symbol, Symbol | Array[Symbol]]) ?{ () -> void } -> void
5
- end
6
- end