tapioca 0.10.1 → 0.10.2
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/README.md +4 -3
- data/lib/tapioca/cli.rb +9 -10
- data/lib/tapioca/commands/annotations.rb +2 -2
- data/lib/tapioca/commands/check_shims.rb +2 -2
- data/lib/tapioca/commands/command.rb +2 -2
- data/lib/tapioca/commands/command_without_tracker.rb +18 -0
- data/lib/tapioca/commands/configure.rb +3 -3
- data/lib/tapioca/commands/dsl.rb +10 -10
- data/lib/tapioca/commands/gem.rb +5 -5
- data/lib/tapioca/commands/require.rb +2 -2
- data/lib/tapioca/commands/todo.rb +2 -2
- data/lib/tapioca/commands.rb +1 -0
- data/lib/tapioca/dsl/compiler.rb +3 -3
- data/lib/tapioca/dsl/compilers/aasm.rb +4 -4
- data/lib/tapioca/dsl/compilers/action_controller_helpers.rb +1 -1
- data/lib/tapioca/dsl/compilers/action_mailer.rb +1 -1
- data/lib/tapioca/dsl/compilers/active_job.rb +2 -2
- data/lib/tapioca/dsl/compilers/active_model_attributes.rb +1 -1
- data/lib/tapioca/dsl/compilers/active_record_associations.rb +13 -13
- data/lib/tapioca/dsl/compilers/active_record_columns.rb +22 -22
- data/lib/tapioca/dsl/compilers/active_record_fixtures.rb +1 -1
- data/lib/tapioca/dsl/compilers/active_record_relations.rb +49 -39
- data/lib/tapioca/dsl/compilers/active_record_scope.rb +3 -3
- data/lib/tapioca/dsl/compilers/active_record_typed_store.rb +2 -2
- data/lib/tapioca/dsl/compilers/active_storage.rb +2 -2
- data/lib/tapioca/dsl/compilers/active_support_current_attributes.rb +1 -1
- data/lib/tapioca/dsl/compilers/config.rb +2 -2
- data/lib/tapioca/dsl/compilers/graphql_input_object.rb +1 -0
- data/lib/tapioca/dsl/compilers/graphql_mutation.rb +1 -0
- data/lib/tapioca/dsl/compilers/identity_cache.rb +12 -12
- data/lib/tapioca/dsl/compilers/protobuf.rb +9 -9
- data/lib/tapioca/dsl/compilers/rails_generators.rb +2 -2
- data/lib/tapioca/dsl/compilers/sidekiq_worker.rb +1 -1
- data/lib/tapioca/dsl/compilers/smart_properties.rb +2 -2
- data/lib/tapioca/dsl/compilers/state_machines.rb +24 -24
- data/lib/tapioca/dsl/compilers/url_helpers.rb +1 -1
- data/lib/tapioca/dsl/compilers.rb +1 -1
- data/lib/tapioca/dsl/pipeline.rb +5 -4
- data/lib/tapioca/executor.rb +2 -2
- data/lib/tapioca/gem/events.rb +1 -1
- data/lib/tapioca/gem/listeners/foreign_constants.rb +3 -2
- data/lib/tapioca/gem/listeners/methods.rb +3 -3
- data/lib/tapioca/gem/listeners/mixins.rb +3 -7
- data/lib/tapioca/gem/listeners/source_location.rb +1 -1
- data/lib/tapioca/gem/listeners/subconstants.rb +1 -1
- data/lib/tapioca/gem/listeners/yard_doc.rb +1 -1
- data/lib/tapioca/gem/pipeline.rb +7 -3
- data/lib/tapioca/gemfile.rb +4 -4
- data/lib/tapioca/helpers/config_helper.rb +4 -4
- data/lib/tapioca/helpers/env_helper.rb +1 -0
- data/lib/tapioca/helpers/gem_helper.rb +17 -5
- data/lib/tapioca/helpers/rbi_files_helper.rb +3 -3
- data/lib/tapioca/helpers/rbi_helper.rb +1 -1
- data/lib/tapioca/helpers/sorbet_helper.rb +2 -2
- data/lib/tapioca/helpers/source_uri.rb +1 -1
- data/lib/tapioca/helpers/test/dsl_compiler.rb +1 -1
- data/lib/tapioca/loaders/dsl.rb +1 -1
- data/lib/tapioca/loaders/gem.rb +2 -2
- data/lib/tapioca/loaders/loader.rb +1 -1
- data/lib/tapioca/rbi_ext/model.rb +3 -3
- data/lib/tapioca/rbi_formatter.rb +2 -2
- data/lib/tapioca/runtime/generic_type_registry.rb +22 -2
- data/lib/tapioca/runtime/reflection.rb +8 -2
- data/lib/tapioca/runtime/trackers/autoload.rb +3 -0
- data/lib/tapioca/runtime/trackers/constant_definition.rb +13 -5
- data/lib/tapioca/runtime/trackers/mixin.rb +37 -36
- data/lib/tapioca/runtime/trackers/required_ancestor.rb +17 -4
- data/lib/tapioca/runtime/trackers/tracker.rb +45 -0
- data/lib/tapioca/runtime/trackers.rb +27 -1
- data/lib/tapioca/sorbet_ext/generic_name_patch.rb +17 -6
- data/lib/tapioca/version.rb +1 -1
- data/lib/tapioca.rb +0 -10
- metadata +4 -2
@@ -28,7 +28,7 @@ module T
|
|
28
28
|
fixed,
|
29
29
|
lower,
|
30
30
|
upper,
|
31
|
-
bounds_proc
|
31
|
+
bounds_proc,
|
32
32
|
).tap do |type_variable|
|
33
33
|
Tapioca::Runtime::GenericTypeRegistry.register_type_variable(self, type_variable)
|
34
34
|
end
|
@@ -44,7 +44,7 @@ module T
|
|
44
44
|
fixed,
|
45
45
|
lower,
|
46
46
|
upper,
|
47
|
-
bounds_proc
|
47
|
+
bounds_proc,
|
48
48
|
).tap do |type_variable|
|
49
49
|
Tapioca::Runtime::GenericTypeRegistry.register_type_variable(self, type_variable)
|
50
50
|
end
|
@@ -82,6 +82,8 @@ module T
|
|
82
82
|
def coerce(val)
|
83
83
|
if val.is_a?(Tapioca::TypeVariableModule)
|
84
84
|
val.coerce_to_type_variable
|
85
|
+
elsif val.respond_to?(:__tapioca_override_type)
|
86
|
+
val.__tapioca_override_type
|
85
87
|
else
|
86
88
|
super
|
87
89
|
end
|
@@ -128,7 +130,7 @@ module Tapioca
|
|
128
130
|
fixed: T.untyped,
|
129
131
|
lower: T.untyped,
|
130
132
|
upper: T.untyped,
|
131
|
-
bounds_proc: T.nilable(T.proc.returns(T::Hash[Symbol, T.untyped]))
|
133
|
+
bounds_proc: T.nilable(T.proc.returns(T::Hash[Symbol, T.untyped])),
|
132
134
|
).void
|
133
135
|
end
|
134
136
|
def initialize(context, type, variance, fixed, lower, upper, bounds_proc)
|
@@ -164,10 +166,14 @@ module Tapioca
|
|
164
166
|
constant_name&.split("::")&.last
|
165
167
|
end
|
166
168
|
|
169
|
+
sig { returns(T::Boolean) }
|
170
|
+
def fixed?
|
171
|
+
bounds.key?(:fixed)
|
172
|
+
end
|
173
|
+
|
167
174
|
sig { returns(String) }
|
168
175
|
def serialize
|
169
|
-
|
170
|
-
fixed = bounds[:fixed].to_s if bounds.key?(:fixed)
|
176
|
+
fixed = bounds[:fixed].to_s if fixed?
|
171
177
|
lower = bounds[:lower].to_s if bounds.key?(:lower)
|
172
178
|
upper = bounds[:upper].to_s if bounds.key?(:upper)
|
173
179
|
|
@@ -176,7 +182,7 @@ module Tapioca
|
|
176
182
|
@variance,
|
177
183
|
fixed,
|
178
184
|
upper,
|
179
|
-
lower
|
185
|
+
lower,
|
180
186
|
)
|
181
187
|
end
|
182
188
|
|
@@ -213,5 +219,10 @@ module Tapioca
|
|
213
219
|
ensure
|
214
220
|
self.class.send(:remove_const, temp_name) if temp_name
|
215
221
|
end
|
222
|
+
|
223
|
+
sig { returns(T::Hash[Symbol, T.untyped]) }
|
224
|
+
def bounds
|
225
|
+
@bounds ||= @bounds_proc.call
|
226
|
+
end
|
216
227
|
end
|
217
228
|
end
|
data/lib/tapioca/version.rb
CHANGED
data/lib/tapioca.rb
CHANGED
@@ -11,16 +11,6 @@ module Tapioca
|
|
11
11
|
class << self
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
sig { params(trace_name: Symbol, block: T.proc.params(arg0: TracePoint).void).void }
|
15
|
-
def register_trace(trace_name, &block)
|
16
|
-
@traces << TracePoint.trace(trace_name, &block)
|
17
|
-
end
|
18
|
-
|
19
|
-
sig { void }
|
20
|
-
def disable_traces
|
21
|
-
@traces.each(&:disable)
|
22
|
-
end
|
23
|
-
|
24
14
|
sig do
|
25
15
|
type_parameters(:Result)
|
26
16
|
.params(blk: T.proc.returns(T.type_parameter(:Result)))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tapioca
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ufuk Kayserilioglu
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: exe
|
13
13
|
cert_chain: []
|
14
|
-
date: 2022-09-
|
14
|
+
date: 2022-09-29 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|
@@ -168,6 +168,7 @@ files:
|
|
168
168
|
- lib/tapioca/commands/annotations.rb
|
169
169
|
- lib/tapioca/commands/check_shims.rb
|
170
170
|
- lib/tapioca/commands/command.rb
|
171
|
+
- lib/tapioca/commands/command_without_tracker.rb
|
171
172
|
- lib/tapioca/commands/configure.rb
|
172
173
|
- lib/tapioca/commands/dsl.rb
|
173
174
|
- lib/tapioca/commands/gem.rb
|
@@ -258,6 +259,7 @@ files:
|
|
258
259
|
- lib/tapioca/runtime/trackers/constant_definition.rb
|
259
260
|
- lib/tapioca/runtime/trackers/mixin.rb
|
260
261
|
- lib/tapioca/runtime/trackers/required_ancestor.rb
|
262
|
+
- lib/tapioca/runtime/trackers/tracker.rb
|
261
263
|
- lib/tapioca/sorbet_ext/fixed_hash_patch.rb
|
262
264
|
- lib/tapioca/sorbet_ext/generic_name_patch.rb
|
263
265
|
- lib/tapioca/sorbet_ext/name_patch.rb
|