rbs_draper 0.1.3 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 04a25d9a1afb7ef89b810010ec0d31ca211e130ebebee773dfb5e5268624ad99
4
- data.tar.gz: 97dc5e93239065b05cd1979623d99c40f4b530ac3b022a2d1d19d4b6c2b1948d
3
+ metadata.gz: 4264323a47d34195f99e7e52dfed772f191d1c1b6ff2b67aea3ae8bebcc2c207
4
+ data.tar.gz: 884b7eb9869e61ab465d63ac2f5878226491bbd40b7612a6bf9dae071d1a16c2
5
5
  SHA512:
6
- metadata.gz: 8596d05ca36e6850e3f5c58620ea262a9a2561d6d350cfe3d1b56f83b071414faf9080cd37005c5ebddb80029421baf2fbdc6660821710eec296aa1628401d53
7
- data.tar.gz: c8b75eac9e00a7e3a51b0eabb2239182797ad86722d51f365c4943c4015d97f0493535f1ff3a014ce58fbeba274bb791e566513d684be65ff38d8042dfdc171b
6
+ metadata.gz: b4489ad1ad8ae877970dfae0d89ae95466aa5796cedb4fa0b9af95be5fed7fc0096b6ca0266c0d1e0ef660ed80394865c19f44f7f74f338919d52a99af60e4ac
7
+ data.tar.gz: 9130a8eaa678d68be89334e8927c06f9d18a6356fb85cbf3fcd237eace146a3a4326a3b07792978f833988fd555542af307b486d1caf99c022c91a709ed7491e
data/.rubocop.yml CHANGED
@@ -15,6 +15,9 @@ Style/StringLiteralsInInterpolation:
15
15
  Layout/LineLength:
16
16
  Max: 120
17
17
 
18
+ Metrics/AbcSize:
19
+ Max: 20
20
+
18
21
  Metrics/BlockLength:
19
22
  Exclude:
20
23
  - spec/**/*.rb
data/Gemfile CHANGED
@@ -7,7 +7,7 @@ gemspec
7
7
 
8
8
  gem "rake", "~> 13.0"
9
9
 
10
- gem "rubocop", "~> 1.55"
10
+ gem "rubocop", "~> 1.56"
11
11
 
12
12
  group :development do
13
13
  gem "rspec", require: false
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rbs_draper (0.1.3)
4
+ rbs_draper (1.1.0)
5
+ activesupport
5
6
  draper
6
7
  fileutils
7
8
  rbs
@@ -10,34 +11,35 @@ PATH
10
11
  GEM
11
12
  remote: https://rubygems.org/
12
13
  specs:
13
- actionpack (7.0.6)
14
- actionview (= 7.0.6)
15
- activesupport (= 7.0.6)
14
+ actionpack (7.0.7.2)
15
+ actionview (= 7.0.7.2)
16
+ activesupport (= 7.0.7.2)
16
17
  rack (~> 2.0, >= 2.2.4)
17
18
  rack-test (>= 0.6.3)
18
19
  rails-dom-testing (~> 2.0)
19
20
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
20
- actionview (7.0.6)
21
- activesupport (= 7.0.6)
21
+ actionview (7.0.7.2)
22
+ activesupport (= 7.0.7.2)
22
23
  builder (~> 3.1)
23
24
  erubi (~> 1.4)
24
25
  rails-dom-testing (~> 2.0)
25
26
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
26
- activemodel (7.0.6)
27
- activesupport (= 7.0.6)
27
+ activemodel (7.0.7.2)
28
+ activesupport (= 7.0.7.2)
28
29
  activemodel-serializers-xml (1.0.2)
29
30
  activemodel (> 5.x)
30
31
  activesupport (> 5.x)
31
32
  builder (~> 3.1)
32
- activerecord (7.0.6)
33
- activemodel (= 7.0.6)
34
- activesupport (= 7.0.6)
35
- activesupport (7.0.6)
33
+ activerecord (7.0.7.2)
34
+ activemodel (= 7.0.7.2)
35
+ activesupport (= 7.0.7.2)
36
+ activesupport (7.0.7.2)
36
37
  concurrent-ruby (~> 1.0, >= 1.0.2)
37
38
  i18n (>= 1.6, < 2)
38
39
  minitest (>= 5.1)
39
40
  tzinfo (~> 2.0)
40
41
  ast (2.4.2)
42
+ base64 (0.1.1)
41
43
  builder (3.2.4)
42
44
  coderay (1.1.3)
43
45
  concurrent-ruby (1.2.2)
@@ -67,9 +69,9 @@ GEM
67
69
  nokogiri (>= 1.12.0)
68
70
  method_source (1.0.0)
69
71
  minitest (5.19.0)
70
- nokogiri (1.15.2-x86_64-darwin)
72
+ nokogiri (1.15.4-x86_64-darwin)
71
73
  racc (~> 1.4)
72
- nokogiri (1.15.2-x86_64-linux)
74
+ nokogiri (1.15.4-x86_64-linux)
73
75
  racc (~> 1.4)
74
76
  parallel (1.23.0)
75
77
  parser (3.2.2.3)
@@ -79,19 +81,19 @@ GEM
79
81
  coderay (~> 1.1)
80
82
  method_source (~> 1.0)
81
83
  racc (1.7.1)
82
- rack (2.2.7)
84
+ rack (2.2.8)
83
85
  rack-test (2.1.0)
84
86
  rack (>= 1.3)
85
- rails-dom-testing (2.1.1)
87
+ rails-dom-testing (2.2.0)
86
88
  activesupport (>= 5.0.0)
87
89
  minitest
88
90
  nokogiri (>= 1.6)
89
91
  rails-html-sanitizer (1.6.0)
90
92
  loofah (~> 2.21)
91
93
  nokogiri (~> 1.14)
92
- railties (7.0.6)
93
- actionpack (= 7.0.6)
94
- activesupport (= 7.0.6)
94
+ railties (7.0.7.2)
95
+ actionpack (= 7.0.7.2)
96
+ activesupport (= 7.0.7.2)
95
97
  method_source
96
98
  rake (>= 12.2)
97
99
  thor (~> 1.0)
@@ -125,7 +127,8 @@ GEM
125
127
  diff-lcs (>= 1.2.0, < 2.0)
126
128
  rspec-support (~> 3.12.0)
127
129
  rspec-support (3.12.0)
128
- rubocop (1.55.0)
130
+ rubocop (1.56.1)
131
+ base64 (~> 0.1.1)
129
132
  json (~> 2.3)
130
133
  language_server-protocol (>= 3.17.0)
131
134
  parallel (~> 1.10)
@@ -141,7 +144,7 @@ GEM
141
144
  ruby-progressbar (1.13.0)
142
145
  ruby2_keywords (0.0.5)
143
146
  securerandom (0.2.2)
144
- steep (1.5.2)
147
+ steep (1.5.3)
145
148
  activesupport (>= 5.1)
146
149
  concurrent-ruby (>= 1.1.10)
147
150
  csv (>= 3.0.9)
@@ -163,7 +166,7 @@ GEM
163
166
  tzinfo (2.0.6)
164
167
  concurrent-ruby (~> 1.0)
165
168
  unicode-display_width (2.4.2)
166
- zeitwerk (2.6.8)
169
+ zeitwerk (2.6.11)
167
170
 
168
171
  PLATFORMS
169
172
  x86_64-darwin-19
@@ -177,7 +180,7 @@ DEPENDENCIES
177
180
  rbs_draper!
178
181
  rspec
179
182
  rspec-daemon
180
- rubocop (~> 1.55)
183
+ rubocop (~> 1.56)
181
184
  steep
182
185
 
183
186
  BUNDLED WITH
data/README.md CHANGED
@@ -7,18 +7,19 @@ rbs_draper is a generator for decorators using [Draper](https://github.com/drape
7
7
  Add a new entry to your Gemfile and run `bundle install`:
8
8
 
9
9
  group :development do
10
- gem 'rbs_draper'
10
+ gem 'rbs_draper', require: false
11
11
  end
12
12
 
13
13
  After the installation, please run rake task generator:
14
14
 
15
15
  bundle exec rails g rbs_draper:install
16
16
 
17
- Additionally, it would be better to add the following entry to your `rbs_collection.yml`:
17
+ If you have decorators having different names from models, you can specify the mapping from
18
+ decorator names to model names in `lib/tasks/rbs_draper.rake`. For example:
18
19
 
19
- gems:
20
- - name: rbs_draper
21
- ignore: true
20
+ RbsDraper::RakeTask.new do |task|
21
+ task.mapping = -> { { AdminUserDecorator: User } }
22
+ end
22
23
 
23
24
  ## Usage
24
25
 
@@ -8,7 +8,13 @@ module RbsDraper
8
8
  create_file "lib/tasks/rbs_draper.rake", <<~RUBY
9
9
  begin
10
10
  require 'rbs_draper/rake_task'
11
- RbsDraper::RakeTask.new
11
+
12
+ RbsDraper::RakeTask.new do |task|
13
+ # If you have decorators having different names from models, you can specify the mapping from decorator names to model names.
14
+ # The value should be a lambda that returns a hash to load decorators and models easily.
15
+ #
16
+ # task.mapping = -> { { AdminUserDecorator: User } }
17
+ end
12
18
  rescue LoadError
13
19
  # failed to load rbs_draper. Skip to load rbs_draper tasks.
14
20
  end
@@ -6,21 +6,22 @@ require "rbs_rails"
6
6
 
7
7
  module RbsDraper
8
8
  module Decorator
9
- def self.class_to_rbs(klass, rbs_builder)
10
- Generator.new(klass, rbs_builder).generate
9
+ def self.class_to_rbs(klass, rbs_builder, decorated_class: nil)
10
+ Generator.new(klass, rbs_builder, decorated_class: decorated_class).generate
11
11
  end
12
12
 
13
13
  class Generator
14
- attr_reader :klass, :klass_name, :rbs_builder
14
+ attr_reader :klass, :klass_name, :rbs_builder, :decorated_class
15
15
 
16
- def initialize(klass, rbs_builder)
16
+ def initialize(klass, rbs_builder, decorated_class: nil)
17
17
  @klass = klass
18
18
  @klass_name = RbsRails::Util.module_name(klass)
19
19
  @rbs_builder = rbs_builder
20
+ @decorated_class = decorated_class
20
21
  end
21
22
 
22
23
  def generate
23
- return if decorated_class.blank?
24
+ return if decorated_class_def.blank?
24
25
 
25
26
  RbsRails::Util.format_rbs klass_decl
26
27
  end
@@ -30,7 +31,7 @@ module RbsDraper
30
31
  def klass_decl
31
32
  <<~RBS
32
33
  #{header}
33
- def object: () -> #{klass.name.to_s.sub(/Decorator$/, "")}
34
+ #{object_method_decls}
34
35
 
35
36
  #{method_decls}
36
37
  #{footer}
@@ -57,6 +58,18 @@ module RbsDraper
57
58
  end.join("\n")
58
59
  end
59
60
 
61
+ def object_method_decls
62
+ object_name = decorated_class&.name || klass.name.to_s.sub(/Decorator$/, "")
63
+ if object_name.include?("::")
64
+ "def object: () -> #{object_name}"
65
+ else
66
+ <<~RBS
67
+ def object: () -> #{object_name}
68
+ def #{object_name.underscore}: () -> #{object_name}
69
+ RBS
70
+ end
71
+ end
72
+
60
73
  def method_decls
61
74
  delegated_methods.filter_map do |name, method|
62
75
  next if user_defined_class&.methods&.fetch(name, nil)
@@ -75,9 +88,10 @@ module RbsDraper
75
88
  end
76
89
  end
77
90
 
78
- def decorated_class
79
- type_name = RBS::TypeName(klass.name.to_s.sub(/Decorator$/, "")).absolute!
80
- @decorated_class ||= rbs_builder.build_instance(type_name)
91
+ def decorated_class_def
92
+ class_name = decorated_class&.name || klass.name.to_s.sub(/Decorator$/, "")
93
+ type_name = RBS::TypeName(class_name).absolute!
94
+ @decorated_class_def ||= rbs_builder.build_instance(type_name)
81
95
  rescue StandardError
82
96
  nil
83
97
  end
@@ -85,7 +99,7 @@ module RbsDraper
85
99
  def delegated_methods
86
100
  return [] unless klass.ancestors.include? ::Draper::AutomaticDelegation
87
101
 
88
- decorated_klass = decorated_class
102
+ decorated_klass = decorated_class_def
89
103
  return [] unless decorated_klass
90
104
 
91
105
  decorated_klass.methods.keys.sort.filter_map do |name|
@@ -8,13 +8,14 @@ require "rake/tasklib"
8
8
 
9
9
  module RbsDraper
10
10
  class RakeTask < Rake::TaskLib
11
- attr_accessor :name, :signature_root_dir
11
+ attr_accessor :name, :signature_root_dir, :mapping
12
12
 
13
13
  def initialize(name = :'rbs:draper', &block)
14
14
  super()
15
15
 
16
16
  @name = name
17
17
  @signature_root_dir = Pathname(Rails.root / "sig/draper")
18
+ @mapping = -> { {} }
18
19
 
19
20
  block&.call(self)
20
21
 
@@ -43,6 +44,8 @@ module RbsDraper
43
44
  def define_base_class_generate_task
44
45
  desc "Generate RBS files for base classes"
45
46
  task("#{name}:base_class:generate": :environment) do
47
+ require "rbs_draper" # load RbsDraper lazily
48
+
46
49
  signature_root_dir.mkpath
47
50
 
48
51
  basedir = Pathname(__FILE__).dirname
@@ -54,6 +57,8 @@ module RbsDraper
54
57
  def define_decoratables_generate_task
55
58
  desc "Generate RBS files for decoratable models"
56
59
  task("#{name}:decoratables:generate": :environment) do
60
+ require "rbs_draper" # load RbsDraper lazily
61
+
57
62
  Rails.application.eager_load!
58
63
 
59
64
  RbsDraper::Decoratable.all.each do |klass|
@@ -70,10 +75,11 @@ module RbsDraper
70
75
  task("#{name}:decorators:generate": :environment) do
71
76
  Rails.application.eager_load!
72
77
 
78
+ decorated_classes = mapping.call
73
79
  Draper::Decorator.descendants.each do |klass|
74
80
  path = signature_root_dir / "app/decorators/#{klass.name.underscore}.rbs"
75
81
  path.dirname.mkpath
76
- rbs = RbsDraper::Decorator.class_to_rbs(klass, rbs_builder)
82
+ rbs = RbsDraper::Decorator.class_to_rbs(klass, rbs_builder, decorated_class: decorated_classes[klass])
77
83
  path.write rbs if rbs
78
84
  end
79
85
  end
@@ -1,5 +1,6 @@
1
1
  module Draper
2
2
  class Decorator
3
+ def self.delegate_all: () -> void
3
4
  def decorated?: () -> bool
4
5
  def decorated_with?: (untyped decorator_class) -> bool
5
6
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbsDraper
4
- VERSION = "0.1.3"
4
+ VERSION = "1.1.0"
5
5
  end
@@ -2,7 +2,7 @@
2
2
  sources:
3
3
  - type: git
4
4
  name: ruby/gem_rbs_collection
5
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
5
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
6
6
  remote: https://github.com/ruby/gem_rbs_collection.git
7
7
  repo_dir: gems
8
8
  path: ".gem_rbs_collection"
@@ -16,7 +16,7 @@ gems:
16
16
  source:
17
17
  type: git
18
18
  name: ruby/gem_rbs_collection
19
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
19
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
20
20
  remote: https://github.com/ruby/gem_rbs_collection.git
21
21
  repo_dir: gems
22
22
  - name: actionview
@@ -24,7 +24,7 @@ gems:
24
24
  source:
25
25
  type: git
26
26
  name: ruby/gem_rbs_collection
27
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
27
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
28
28
  remote: https://github.com/ruby/gem_rbs_collection.git
29
29
  repo_dir: gems
30
30
  - name: activemodel
@@ -32,7 +32,7 @@ gems:
32
32
  source:
33
33
  type: git
34
34
  name: ruby/gem_rbs_collection
35
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
35
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
36
36
  remote: https://github.com/ruby/gem_rbs_collection.git
37
37
  repo_dir: gems
38
38
  - name: activerecord
@@ -40,7 +40,7 @@ gems:
40
40
  source:
41
41
  type: git
42
42
  name: ruby/gem_rbs_collection
43
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
43
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
44
44
  remote: https://github.com/ruby/gem_rbs_collection.git
45
45
  repo_dir: gems
46
46
  - name: activesupport
@@ -48,7 +48,7 @@ gems:
48
48
  source:
49
49
  type: git
50
50
  name: ruby/gem_rbs_collection
51
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
51
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
52
52
  remote: https://github.com/ruby/gem_rbs_collection.git
53
53
  repo_dir: gems
54
54
  - name: ast
@@ -56,9 +56,13 @@ gems:
56
56
  source:
57
57
  type: git
58
58
  name: ruby/gem_rbs_collection
59
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
59
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
60
60
  remote: https://github.com/ruby/gem_rbs_collection.git
61
61
  repo_dir: gems
62
+ - name: base64
63
+ version: '0'
64
+ source:
65
+ type: stdlib
62
66
  - name: cgi
63
67
  version: '0'
64
68
  source:
@@ -68,7 +72,7 @@ gems:
68
72
  source:
69
73
  type: git
70
74
  name: ruby/gem_rbs_collection
71
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
75
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
72
76
  remote: https://github.com/ruby/gem_rbs_collection.git
73
77
  repo_dir: gems
74
78
  - name: date
@@ -84,7 +88,7 @@ gems:
84
88
  source:
85
89
  type: git
86
90
  name: ruby/gem_rbs_collection
87
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
91
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
88
92
  remote: https://github.com/ruby/gem_rbs_collection.git
89
93
  repo_dir: gems
90
94
  - name: json
@@ -112,7 +116,7 @@ gems:
112
116
  source:
113
117
  type: git
114
118
  name: ruby/gem_rbs_collection
115
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
119
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
116
120
  remote: https://github.com/ruby/gem_rbs_collection.git
117
121
  repo_dir: gems
118
122
  - name: optparse
@@ -124,7 +128,7 @@ gems:
124
128
  source:
125
129
  type: git
126
130
  name: ruby/gem_rbs_collection
127
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
131
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
128
132
  remote: https://github.com/ruby/gem_rbs_collection.git
129
133
  repo_dir: gems
130
134
  - name: pathname
@@ -136,7 +140,7 @@ gems:
136
140
  source:
137
141
  type: git
138
142
  name: ruby/gem_rbs_collection
139
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
143
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
140
144
  remote: https://github.com/ruby/gem_rbs_collection.git
141
145
  repo_dir: gems
142
146
  - name: rails-dom-testing
@@ -144,7 +148,7 @@ gems:
144
148
  source:
145
149
  type: git
146
150
  name: ruby/gem_rbs_collection
147
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
151
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
148
152
  remote: https://github.com/ruby/gem_rbs_collection.git
149
153
  repo_dir: gems
150
154
  - name: railties
@@ -152,7 +156,7 @@ gems:
152
156
  source:
153
157
  type: git
154
158
  name: ruby/gem_rbs_collection
155
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
159
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
156
160
  remote: https://github.com/ruby/gem_rbs_collection.git
157
161
  repo_dir: gems
158
162
  - name: rainbow
@@ -160,7 +164,7 @@ gems:
160
164
  source:
161
165
  type: git
162
166
  name: ruby/gem_rbs_collection
163
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
167
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
164
168
  remote: https://github.com/ruby/gem_rbs_collection.git
165
169
  repo_dir: gems
166
170
  - name: rbs
@@ -180,7 +184,7 @@ gems:
180
184
  source:
181
185
  type: git
182
186
  name: ruby/gem_rbs_collection
183
- revision: 9612e5e67697153dcc7464c01115db44d29b1e34
187
+ revision: 306d1aec19defeb177e217d8aad9812a52bcd5eb
184
188
  remote: https://github.com/ruby/gem_rbs_collection.git
185
189
  repo_dir: gems
186
190
  - name: securerandom
data/rbs_draper.gemspec CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
+ spec.add_dependency "activesupport"
30
31
  spec.add_dependency "draper"
31
32
  spec.add_dependency "fileutils"
32
33
  spec.add_dependency "rbs"
@@ -1,26 +1,28 @@
1
1
  module RbsDraper
2
2
  module Decorator
3
- def self.class_to_rbs: (singleton(Draper::Decorator) klass, RBS::DefinitionBuilder rbs_builder) -> String?
3
+ def self.class_to_rbs: (singleton(Draper::Decorator) klass, RBS::DefinitionBuilder rbs_builder, ?decorated_class: singleton(Class)?) -> String?
4
4
 
5
5
  class Generator
6
6
  attr_reader klass: singleton(Draper::Decorator)
7
7
  attr_reader klass_name: String
8
8
  attr_reader rbs_builder: RBS::DefinitionBuilder
9
+ attr_reader decorated_class: singleton(Class)?
9
10
 
10
- @decorated_class: RBS::Definition
11
+ @decorated_class_def: RBS::Definition
11
12
  @user_defined_class: RBS::Definition
12
13
 
13
- def initialize: (singleton(Draper::Decorator) klass, RBS::DefinitionBuilder rbs_builder) -> void
14
+ def initialize: (singleton(Draper::Decorator) klass, RBS::DefinitionBuilder rbs_builder, ?decorated_class: singleton(Class)?) -> void
14
15
  def generate: () -> String?
15
16
 
16
17
  private
17
18
 
18
19
  def klass_decl: () -> String
19
20
  def header: () -> String
21
+ def object_method_decls: () -> String
20
22
  def method_decls: () -> String?
21
23
  def footer: () -> String
22
24
  def module_names: () -> Array[String]
23
- def decorated_class: () -> RBS::Definition?
25
+ def decorated_class_def: () -> RBS::Definition?
24
26
  def delegated_methods: () -> Array[[Symbol, RBS::Definition::Method]]
25
27
  def user_defined_class: () -> RBS::Definition?
26
28
  end
@@ -2,10 +2,12 @@ module RbsDraper
2
2
  class RakeTask < Rake::TaskLib
3
3
  attr_accessor name: Symbol
4
4
  attr_accessor signature_root_dir: Pathname
5
+ attr_accessor mapping: ^() -> Hash[singleton(Class), singleton(Class)]
5
6
 
6
7
  @name: Symbol
7
8
  @rbs_builder: RBS::DefinitionBuilder
8
9
  @signature_root_dir: Pathname
10
+ @mapping: ^() -> Hash[singleton(Class), singleton(Class)]
9
11
 
10
12
  def initialize: (?Symbol name) ?{ (RakeTask) -> void } -> void
11
13
  def define_setup_task: () -> void
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs_draper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takeshi KOMIYA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-02 00:00:00.000000000 Z
11
+ date: 2023-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: draper
15
29
  requirement: !ruby/object:Gem::Requirement