repeatable 1.1.0 → 1.2.1

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 (121) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +22 -21
  3. data/.ruby-version +1 -0
  4. data/.yardopts +1 -0
  5. data/CHANGELOG.md +24 -1
  6. data/Gemfile +3 -1
  7. data/Gemfile.lock +113 -54
  8. data/README.md +25 -5
  9. data/bin/tapioca +29 -0
  10. data/lib/repeatable/conversions.rb +2 -1
  11. data/lib/repeatable/expression/base.rb +6 -0
  12. data/lib/repeatable/expression/biweekly.rb +1 -0
  13. data/lib/repeatable/expression/date.rb +2 -0
  14. data/lib/repeatable/expression/day_in_month.rb +1 -0
  15. data/lib/repeatable/expression/difference.rb +1 -0
  16. data/lib/repeatable/expression/exact_date.rb +1 -0
  17. data/lib/repeatable/expression/intersection.rb +2 -0
  18. data/lib/repeatable/expression/range_in_year.rb +3 -0
  19. data/lib/repeatable/expression/set.rb +3 -2
  20. data/lib/repeatable/expression/union.rb +2 -0
  21. data/lib/repeatable/expression/weekday.rb +1 -0
  22. data/lib/repeatable/expression/weekday_in_month.rb +1 -0
  23. data/lib/repeatable/expression.rb +1 -0
  24. data/lib/repeatable/last_date_of_month.rb +1 -0
  25. data/lib/repeatable/parse_error.rb +1 -0
  26. data/lib/repeatable/parser.rb +1 -0
  27. data/lib/repeatable/schedule.rb +6 -0
  28. data/lib/repeatable/types.rb +1 -0
  29. data/lib/repeatable/version.rb +2 -1
  30. data/lib/repeatable.rb +1 -0
  31. data/rbi/repeatable.rbi +9 -3
  32. data/sorbet/config +2 -1
  33. data/sorbet/rbi/annotations/.gitattributes +1 -0
  34. data/sorbet/rbi/{sorbet-typed/lib/rainbow/all → annotations}/rainbow.rbi +23 -30
  35. data/sorbet/rbi/gems/.gitattributes +1 -0
  36. data/sorbet/rbi/gems/ast@2.4.3.rbi +584 -0
  37. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  38. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  39. data/sorbet/rbi/gems/commander@5.0.0.rbi +9 -0
  40. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +1134 -0
  41. data/sorbet/rbi/gems/docile@1.4.1.rbi +376 -0
  42. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  43. data/sorbet/rbi/gems/highline@3.0.1.rbi +9 -0
  44. data/sorbet/rbi/gems/json@2.13.2.rbi +2087 -0
  45. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +14243 -0
  46. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +239 -0
  47. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  48. data/sorbet/rbi/gems/method_source@1.1.0.rbi +304 -0
  49. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  50. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  51. data/sorbet/rbi/gems/parlour@9.1.2.rbi +3071 -0
  52. data/sorbet/rbi/gems/parser@3.3.9.0.rbi +7337 -0
  53. data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
  54. data/sorbet/rbi/gems/pry@0.15.2.rbi +10265 -0
  55. data/sorbet/rbi/gems/racc@1.8.1.rbi +164 -0
  56. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  57. data/sorbet/rbi/gems/rake@13.3.0.rbi +3031 -0
  58. data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
  59. data/sorbet/rbi/gems/rbs@3.9.5.rbi +6976 -0
  60. data/sorbet/rbi/gems/regexp_parser@2.11.2.rbi +3845 -0
  61. data/sorbet/rbi/gems/rexml@3.4.3.rbi +5285 -0
  62. data/sorbet/rbi/gems/rspec-core@3.13.5.rbi +11238 -0
  63. data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +8189 -0
  64. data/sorbet/rbi/gems/rspec-mocks@3.13.5.rbi +5350 -0
  65. data/sorbet/rbi/gems/rspec-support@3.13.5.rbi +1627 -0
  66. data/sorbet/rbi/gems/rspec@3.13.1.rbi +83 -0
  67. data/sorbet/rbi/gems/rubocop-ast@1.46.0.rbi +7734 -0
  68. data/sorbet/rbi/gems/rubocop-performance@1.25.0.rbi +9 -0
  69. data/sorbet/rbi/gems/rubocop@1.80.2.rbi +63354 -0
  70. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  71. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +225 -0
  72. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +2149 -0
  73. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +239 -0
  74. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  75. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +8 -0
  76. data/sorbet/rbi/gems/standard-performance@1.8.0.rbi +9 -0
  77. data/sorbet/rbi/gems/standard@1.51.0.rbi +935 -0
  78. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  79. data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
  80. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +132 -0
  81. data/sorbet/rbi/gems/unicode-emoji@4.1.0.rbi +251 -0
  82. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  83. data/sorbet/rbi/gems/yard@0.9.37.rbi +18378 -0
  84. data/sorbet/tapioca/config.yml +13 -0
  85. data/sorbet/tapioca/require.rb +4 -0
  86. metadata +59 -39
  87. data/sorbet/rbi/gems/ast.rbi +0 -49
  88. data/sorbet/rbi/gems/coderay.rbi +0 -285
  89. data/sorbet/rbi/gems/commander.rbi +0 -197
  90. data/sorbet/rbi/gems/docile.rbi +0 -36
  91. data/sorbet/rbi/gems/highline.rbi +0 -577
  92. data/sorbet/rbi/gems/method_source.rbi +0 -64
  93. data/sorbet/rbi/gems/parallel.rbi +0 -83
  94. data/sorbet/rbi/gems/parlour.rbi +0 -840
  95. data/sorbet/rbi/gems/parser.rbi +0 -1950
  96. data/sorbet/rbi/gems/pry.rbi +0 -1898
  97. data/sorbet/rbi/gems/rainbow.rbi +0 -118
  98. data/sorbet/rbi/gems/rake.rbi +0 -646
  99. data/sorbet/rbi/gems/regexp_parser.rbi +0 -926
  100. data/sorbet/rbi/gems/repeatable.rbi +0 -13
  101. data/sorbet/rbi/gems/rexml.rbi +0 -583
  102. data/sorbet/rbi/gems/rspec-core.rbi +0 -1919
  103. data/sorbet/rbi/gems/rspec-expectations.rbi +0 -1150
  104. data/sorbet/rbi/gems/rspec-mocks.rbi +0 -1100
  105. data/sorbet/rbi/gems/rspec-support.rbi +0 -280
  106. data/sorbet/rbi/gems/rspec.rbi +0 -15
  107. data/sorbet/rbi/gems/rubocop-ast.rbi +0 -1356
  108. data/sorbet/rbi/gems/rubocop-performance.rbi +0 -487
  109. data/sorbet/rbi/gems/rubocop.rbi +0 -7923
  110. data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -304
  111. data/sorbet/rbi/gems/simplecov-html.rbi +0 -35
  112. data/sorbet/rbi/gems/simplecov.rbi +0 -419
  113. data/sorbet/rbi/gems/simplecov_json_formatter.rbi +0 -47
  114. data/sorbet/rbi/gems/standard.rbi +0 -130
  115. data/sorbet/rbi/gems/unicode-display_width.rbi +0 -20
  116. data/sorbet/rbi/hidden-definitions/errors.txt +0 -4273
  117. data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -9013
  118. data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +0 -645
  119. data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +0 -24
  120. data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +0 -12
  121. data/sorbet/rbi/sorbet-typed/lib/rubocop-performance/~>1.6/rubocop-performance.rbi +0 -149
@@ -0,0 +1,376 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `docile` gem.
5
+ # Please instead update this file by running `bin/tapioca gem docile`.
6
+
7
+ # Docile keeps your Ruby DSLs tame and well-behaved.
8
+ #
9
+ # source://docile//lib/docile/version.rb#3
10
+ module Docile
11
+ extend ::Docile::Execution
12
+
13
+ private
14
+
15
+ # Execute a block in the context of an object whose methods represent the
16
+ # commands in a DSL.
17
+ #
18
+ # Use this method to execute an *imperative* DSL, which means that:
19
+ #
20
+ # 1. Each command mutates the state of the DSL context object
21
+ # 2. The return value of each command is ignored
22
+ # 3. The final return value is the original context object
23
+ #
24
+ # @example Use a String as a DSL
25
+ # Docile.dsl_eval("Hello, world!") do
26
+ # reverse!
27
+ # upcase!
28
+ # end
29
+ # #=> "!DLROW ,OLLEH"
30
+ # @example Use an Array as a DSL
31
+ # Docile.dsl_eval([]) do
32
+ # push 1
33
+ # push 2
34
+ # pop
35
+ # push 3
36
+ # end
37
+ # #=> [1, 3]
38
+ # @note Use with an *imperative* DSL (commands modify the context object)
39
+ # @param dsl [Object] context object whose methods make up the DSL
40
+ # @param args [Array] arguments to be passed to the block
41
+ # @param block [Proc] the block of DSL commands to be executed against the
42
+ # `dsl` context object
43
+ # @return [Object] the `dsl` context object after executing the block
44
+ #
45
+ # source://docile//lib/docile.rb#45
46
+ def dsl_eval(dsl, *args, **_arg2, &block); end
47
+
48
+ # Execute a block in the context of an immutable object whose methods,
49
+ # and the methods of their return values, represent the commands in a DSL.
50
+ #
51
+ # Use this method to execute a *functional* DSL, which means that:
52
+ #
53
+ # 1. The original DSL context object is never mutated
54
+ # 2. Each command returns the next DSL context object
55
+ # 3. The final return value is the value returned by the last command
56
+ #
57
+ # @example Use a frozen String as a DSL
58
+ # Docile.dsl_eval_immutable("I'm immutable!".freeze) do
59
+ # reverse
60
+ # upcase
61
+ # end
62
+ # #=> "!ELBATUMMI M'I"
63
+ # @example Use a Float as a DSL
64
+ # Docile.dsl_eval_immutable(84.5) do
65
+ # fdiv(2)
66
+ # floor
67
+ # end
68
+ # #=> 42
69
+ # @note Use with a *functional* DSL (commands return successor
70
+ # context objects)
71
+ # @param dsl [Object] immutable context object whose methods make up the
72
+ # initial DSL
73
+ # @param args [Array] arguments to be passed to the block
74
+ # @param block [Proc] the block of DSL commands to be executed against the
75
+ # `dsl` context object and successor return values
76
+ # @return [Object] the return value of the final command in the block
77
+ #
78
+ # source://docile//lib/docile.rb#128
79
+ def dsl_eval_immutable(dsl, *args, **_arg2, &block); end
80
+
81
+ # Execute a block in the context of an object whose methods represent the
82
+ # commands in a DSL, and return *the block's return value*.
83
+ #
84
+ # Use this method to execute an *imperative* DSL, which means that:
85
+ #
86
+ # 1. Each command mutates the state of the DSL context object
87
+ # 2. The return value of each command is ignored
88
+ # 3. The final return value is the original context object
89
+ #
90
+ # @example Use a String as a DSL
91
+ # Docile.dsl_eval_with_block_return("Hello, world!") do
92
+ # reverse!
93
+ # upcase!
94
+ # first
95
+ # end
96
+ # #=> "!"
97
+ # @example Use an Array as a DSL
98
+ # Docile.dsl_eval_with_block_return([]) do
99
+ # push "a"
100
+ # push "b"
101
+ # pop
102
+ # push "c"
103
+ # length
104
+ # end
105
+ # #=> 2
106
+ # @note Use with an *imperative* DSL (commands modify the context object)
107
+ # @param dsl [Object] context object whose methods make up the DSL
108
+ # @param args [Array] arguments to be passed to the block
109
+ # @param block [Proc] the block of DSL commands to be executed against the
110
+ # `dsl` context object
111
+ # @return [Object] the return value from executing the block
112
+ #
113
+ # source://docile//lib/docile.rb#87
114
+ def dsl_eval_with_block_return(dsl, *args, **_arg2, &block); end
115
+
116
+ class << self
117
+ # Execute a block in the context of an object whose methods represent the
118
+ # commands in a DSL.
119
+ #
120
+ # Use this method to execute an *imperative* DSL, which means that:
121
+ #
122
+ # 1. Each command mutates the state of the DSL context object
123
+ # 2. The return value of each command is ignored
124
+ # 3. The final return value is the original context object
125
+ #
126
+ # @example Use a String as a DSL
127
+ # Docile.dsl_eval("Hello, world!") do
128
+ # reverse!
129
+ # upcase!
130
+ # end
131
+ # #=> "!DLROW ,OLLEH"
132
+ # @example Use an Array as a DSL
133
+ # Docile.dsl_eval([]) do
134
+ # push 1
135
+ # push 2
136
+ # pop
137
+ # push 3
138
+ # end
139
+ # #=> [1, 3]
140
+ # @note Use with an *imperative* DSL (commands modify the context object)
141
+ # @param dsl [Object] context object whose methods make up the DSL
142
+ # @param args [Array] arguments to be passed to the block
143
+ # @param block [Proc] the block of DSL commands to be executed against the
144
+ # `dsl` context object
145
+ # @return [Object] the `dsl` context object after executing the block
146
+ #
147
+ # source://docile//lib/docile.rb#45
148
+ def dsl_eval(dsl, *args, **_arg2, &block); end
149
+
150
+ # Execute a block in the context of an immutable object whose methods,
151
+ # and the methods of their return values, represent the commands in a DSL.
152
+ #
153
+ # Use this method to execute a *functional* DSL, which means that:
154
+ #
155
+ # 1. The original DSL context object is never mutated
156
+ # 2. Each command returns the next DSL context object
157
+ # 3. The final return value is the value returned by the last command
158
+ #
159
+ # @example Use a frozen String as a DSL
160
+ # Docile.dsl_eval_immutable("I'm immutable!".freeze) do
161
+ # reverse
162
+ # upcase
163
+ # end
164
+ # #=> "!ELBATUMMI M'I"
165
+ # @example Use a Float as a DSL
166
+ # Docile.dsl_eval_immutable(84.5) do
167
+ # fdiv(2)
168
+ # floor
169
+ # end
170
+ # #=> 42
171
+ # @note Use with a *functional* DSL (commands return successor
172
+ # context objects)
173
+ # @param dsl [Object] immutable context object whose methods make up the
174
+ # initial DSL
175
+ # @param args [Array] arguments to be passed to the block
176
+ # @param block [Proc] the block of DSL commands to be executed against the
177
+ # `dsl` context object and successor return values
178
+ # @return [Object] the return value of the final command in the block
179
+ #
180
+ # source://docile//lib/docile.rb#128
181
+ def dsl_eval_immutable(dsl, *args, **_arg2, &block); end
182
+
183
+ # Execute a block in the context of an object whose methods represent the
184
+ # commands in a DSL, and return *the block's return value*.
185
+ #
186
+ # Use this method to execute an *imperative* DSL, which means that:
187
+ #
188
+ # 1. Each command mutates the state of the DSL context object
189
+ # 2. The return value of each command is ignored
190
+ # 3. The final return value is the original context object
191
+ #
192
+ # @example Use a String as a DSL
193
+ # Docile.dsl_eval_with_block_return("Hello, world!") do
194
+ # reverse!
195
+ # upcase!
196
+ # first
197
+ # end
198
+ # #=> "!"
199
+ # @example Use an Array as a DSL
200
+ # Docile.dsl_eval_with_block_return([]) do
201
+ # push "a"
202
+ # push "b"
203
+ # pop
204
+ # push "c"
205
+ # length
206
+ # end
207
+ # #=> 2
208
+ # @note Use with an *imperative* DSL (commands modify the context object)
209
+ # @param dsl [Object] context object whose methods make up the DSL
210
+ # @param args [Array] arguments to be passed to the block
211
+ # @param block [Proc] the block of DSL commands to be executed against the
212
+ # `dsl` context object
213
+ # @return [Object] the return value from executing the block
214
+ #
215
+ # source://docile//lib/docile.rb#87
216
+ def dsl_eval_with_block_return(dsl, *args, **_arg2, &block); end
217
+ end
218
+ end
219
+
220
+ # This is used to remove entries pointing to Docile's source files
221
+ # from {Exception#backtrace} and {Exception#backtrace_locations}.
222
+ #
223
+ # If {NoMethodError} is caught then the exception object will be extended
224
+ # by this module to add filter functionalities.
225
+ #
226
+ # @api private
227
+ #
228
+ # source://docile//lib/docile/backtrace_filter.rb#11
229
+ module Docile::BacktraceFilter
230
+ # @api private
231
+ #
232
+ # source://docile//lib/docile/backtrace_filter.rb#14
233
+ def backtrace; end
234
+
235
+ # @api private
236
+ #
237
+ # source://docile//lib/docile/backtrace_filter.rb#19
238
+ def backtrace_locations; end
239
+ end
240
+
241
+ # @api private
242
+ #
243
+ # source://docile//lib/docile/backtrace_filter.rb#12
244
+ Docile::BacktraceFilter::FILTER_PATTERN = T.let(T.unsafe(nil), Regexp)
245
+
246
+ # Operates in the same manner as {FallbackContextProxy}, but replacing
247
+ # the primary `receiver` object with the result of each proxied method.
248
+ #
249
+ # This is useful for implementing DSL evaluation for immutable context
250
+ # objects.
251
+ #
252
+ #
253
+ # @api private
254
+ # @see Docile.dsl_eval_immutable
255
+ #
256
+ # source://docile//lib/docile/chaining_fallback_context_proxy.rb#17
257
+ class Docile::ChainingFallbackContextProxy < ::Docile::FallbackContextProxy
258
+ # Proxy methods as in {FallbackContextProxy#method_missing}, replacing
259
+ # `receiver` with the returned value.
260
+ #
261
+ # @api private
262
+ #
263
+ # source://docile//lib/docile/chaining_fallback_context_proxy.rb#20
264
+ def method_missing(method, *args, **_arg2, &block); end
265
+ end
266
+
267
+ # A namespace for functions relating to the execution of a block against a
268
+ # proxy object.
269
+ #
270
+ # @api private
271
+ #
272
+ # source://docile//lib/docile/execution.rb#8
273
+ module Docile::Execution
274
+ private
275
+
276
+ # Execute a block in the context of an object whose methods represent the
277
+ # commands in a DSL, using a specific proxy class.
278
+ #
279
+ # @api private
280
+ # @param dsl [Object] context object whose methods make up the
281
+ # (initial) DSL
282
+ # @param proxy_type [FallbackContextProxy, ChainingFallbackContextProxy] which class to instantiate as proxy context
283
+ # @param args [Array] arguments to be passed to the block
284
+ # @param block [Proc] the block of DSL commands to be executed
285
+ # @return [Object] the return value of the block
286
+ #
287
+ # source://docile//lib/docile/execution.rb#19
288
+ def exec_in_proxy_context(dsl, proxy_type, *args, **_arg3, &block); end
289
+
290
+ class << self
291
+ # Execute a block in the context of an object whose methods represent the
292
+ # commands in a DSL, using a specific proxy class.
293
+ #
294
+ # @api private
295
+ # @param dsl [Object] context object whose methods make up the
296
+ # (initial) DSL
297
+ # @param proxy_type [FallbackContextProxy, ChainingFallbackContextProxy] which class to instantiate as proxy context
298
+ # @param args [Array] arguments to be passed to the block
299
+ # @param block [Proc] the block of DSL commands to be executed
300
+ # @return [Object] the return value of the block
301
+ #
302
+ # source://docile//lib/docile/execution.rb#19
303
+ def exec_in_proxy_context(dsl, proxy_type, *args, **_arg3, &block); end
304
+ end
305
+ end
306
+
307
+ # A proxy object with a primary receiver as well as a secondary
308
+ # fallback receiver.
309
+ #
310
+ # Will attempt to forward all method calls first to the primary receiver,
311
+ # and then to the fallback receiver if the primary does not handle that
312
+ # method.
313
+ #
314
+ # This is useful for implementing DSL evaluation in the context of an object.
315
+ #
316
+ #
317
+ # @api private
318
+ # @see Docile.dsl_eval
319
+ #
320
+ # source://docile//lib/docile/fallback_context_proxy.rb#20
321
+ class Docile::FallbackContextProxy
322
+ # @api private
323
+ # @param receiver [Object] the primary proxy target to which all methods
324
+ # initially will be forwarded
325
+ # @param fallback [Object] the fallback proxy target to which any methods
326
+ # not handled by `receiver` will be forwarded
327
+ # @return [FallbackContextProxy] a new instance of FallbackContextProxy
328
+ #
329
+ # source://docile//lib/docile/fallback_context_proxy.rb#46
330
+ def initialize(receiver, fallback); end
331
+
332
+ # @api private
333
+ # @return [Array<Symbol>] Instance variable names, excluding
334
+ # {NON_PROXIED_INSTANCE_VARIABLES}
335
+ #
336
+ # source://docile//lib/docile/fallback_context_proxy.rb#85
337
+ def instance_variables; end
338
+
339
+ # Proxy all methods, excluding {NON_PROXIED_METHODS}, first to `receiver`
340
+ # and then to `fallback` if not found.
341
+ #
342
+ # @api private
343
+ #
344
+ # source://docile//lib/docile/fallback_context_proxy.rb#91
345
+ def method_missing(method, *args, **_arg2, &block); end
346
+ end
347
+
348
+ # The set of methods which will **not** fallback from the block's context
349
+ # to the dsl object.
350
+ #
351
+ # @api private
352
+ #
353
+ # source://docile//lib/docile/fallback_context_proxy.rb#30
354
+ Docile::FallbackContextProxy::NON_FALLBACK_METHODS = T.let(T.unsafe(nil), Set)
355
+
356
+ # The set of instance variables which are local to this object and hidden.
357
+ # All other instance variables will be copied in and out of this object
358
+ # from the scope in which this proxy was created.
359
+ #
360
+ # @api private
361
+ #
362
+ # source://docile//lib/docile/fallback_context_proxy.rb#35
363
+ Docile::FallbackContextProxy::NON_PROXIED_INSTANCE_VARIABLES = T.let(T.unsafe(nil), Set)
364
+
365
+ # The set of methods which will **not** be proxied, but instead answered
366
+ # by this object directly.
367
+ #
368
+ # @api private
369
+ #
370
+ # source://docile//lib/docile/fallback_context_proxy.rb#23
371
+ Docile::FallbackContextProxy::NON_PROXIED_METHODS = T.let(T.unsafe(nil), Set)
372
+
373
+ # The current version of this library
374
+ #
375
+ # source://docile//lib/docile/version.rb#5
376
+ Docile::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,155 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `erubi` gem.
5
+ # Please instead update this file by running `bin/tapioca gem erubi`.
6
+
7
+
8
+ # source://erubi//lib/erubi.rb#3
9
+ module Erubi
10
+ private
11
+
12
+ def h(_arg0); end
13
+
14
+ class << self
15
+ def h(_arg0); end
16
+ end
17
+ end
18
+
19
+ # source://erubi//lib/erubi.rb#51
20
+ class Erubi::Engine
21
+ # Initialize a new Erubi::Engine. Options:
22
+ # +:bufval+ :: The value to use for the buffer variable, as a string (default <tt>'::String.new'</tt>).
23
+ # +:bufvar+ :: The variable name to use for the buffer variable, as a string.
24
+ # +:chain_appends+ :: Whether to chain <tt><<</t> calls to the buffer variable. Offers better
25
+ # performance, but can cause issues when the buffer variable is reassigned during
26
+ # template rendering (default +false+).
27
+ # +:ensure+ :: Wrap the template in a begin/ensure block restoring the previous value of bufvar.
28
+ # +:escapefunc+ :: The function to use for escaping, as a string (default: <tt>'::Erubi.h'</tt>).
29
+ # +:escape+ :: Whether to make <tt><%=</tt> escape by default, and <tt><%==</tt> not escape by default.
30
+ # +:escape_html+ :: Same as +:escape+, with lower priority.
31
+ # +:filename+ :: The filename for the template.
32
+ # the resulting source code. Note this may cause problems if you are wrapping the resulting
33
+ # source code in other code, because the magic comment only has an effect at the beginning of
34
+ # the file, and having the magic comment later in the file can trigger warnings.
35
+ # +:freeze_template_literals+ :: Whether to suffix all literal strings for template code with <tt>.freeze</tt>
36
+ # (default: +true+ on Ruby 2.1+, +false+ on Ruby 2.0 and older).
37
+ # Can be set to +false+ on Ruby 2.3+ when frozen string literals are enabled
38
+ # in order to improve performance.
39
+ # +:literal_prefix+ :: The prefix to output when using escaped tag delimiters (default <tt>'<%'</tt>).
40
+ # +:literal_postfix+ :: The postfix to output when using escaped tag delimiters (default <tt>'%>'</tt>).
41
+ # +:outvar+ :: Same as +:bufvar+, with lower priority.
42
+ # +:postamble+ :: The postamble for the template, by default returns the resulting source code.
43
+ # +:preamble+ :: The preamble for the template, by default initializes the buffer variable.
44
+ # +:regexp+ :: The regexp to use for scanning.
45
+ # +:src+ :: The initial value to use for the source code, an empty string by default.
46
+ # +:trim+ :: Whether to trim leading and trailing whitespace, true by default.
47
+ #
48
+ # @return [Engine] a new instance of Engine
49
+ #
50
+ # source://erubi//lib/erubi.rb#91
51
+ def initialize(input, properties = T.unsafe(nil)); end
52
+
53
+ # The variable name used for the buffer variable.
54
+ #
55
+ # source://erubi//lib/erubi.rb#62
56
+ def bufvar; end
57
+
58
+ # The filename of the template, if one was given.
59
+ #
60
+ # source://erubi//lib/erubi.rb#59
61
+ def filename; end
62
+
63
+ # The frozen ruby source code generated from the template, which can be evaled.
64
+ #
65
+ # source://erubi//lib/erubi.rb#56
66
+ def src; end
67
+
68
+ private
69
+
70
+ # :nocov:
71
+ #
72
+ # source://erubi//lib/erubi.rb#209
73
+ def _dup_string_if_frozen(string); end
74
+
75
+ # Add ruby code to the template
76
+ #
77
+ # source://erubi//lib/erubi.rb#232
78
+ def add_code(code); end
79
+
80
+ # Add the given ruby expression result to the template,
81
+ # escaping it based on the indicator given and escape flag.
82
+ #
83
+ # source://erubi//lib/erubi.rb#241
84
+ def add_expression(indicator, code); end
85
+
86
+ # Add the result of Ruby expression to the template
87
+ #
88
+ # source://erubi//lib/erubi.rb#250
89
+ def add_expression_result(code); end
90
+
91
+ # Add the escaped result of Ruby expression to the template
92
+ #
93
+ # source://erubi//lib/erubi.rb#255
94
+ def add_expression_result_escaped(code); end
95
+
96
+ # Add the given postamble to the src. Can be overridden in subclasses
97
+ # to make additional changes to src that depend on the current state.
98
+ #
99
+ # source://erubi//lib/erubi.rb#261
100
+ def add_postamble(postamble); end
101
+
102
+ # Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
103
+ # Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
104
+ #
105
+ # source://erubi//lib/erubi.rb#222
106
+ def add_text(text); end
107
+
108
+ # Raise an exception, as the base engine class does not support handling other indicators.
109
+ #
110
+ # @raise [ArgumentError]
111
+ #
112
+ # source://erubi//lib/erubi.rb#267
113
+ def handle(indicator, code, tailch, rspace, lspace); end
114
+
115
+ # Make sure that any current expression has been terminated.
116
+ # The default is to terminate all expressions, but when
117
+ # the chain_appends option is used, expressions may not be
118
+ # terminated.
119
+ #
120
+ # source://erubi//lib/erubi.rb#295
121
+ def terminate_expression; end
122
+
123
+ # Make sure the buffer variable is the target of the next append
124
+ # before yielding to the block. Mark that the buffer is the target
125
+ # of the next append after the block executes.
126
+ #
127
+ # This method should only be called if the block will result in
128
+ # code where << will append to the bufvar.
129
+ #
130
+ # source://erubi//lib/erubi.rb#277
131
+ def with_buffer; end
132
+ end
133
+
134
+ # The default regular expression used for scanning.
135
+ #
136
+ # source://erubi//lib/erubi.rb#53
137
+ Erubi::Engine::DEFAULT_REGEXP = T.let(T.unsafe(nil), Regexp)
138
+
139
+ # source://erubi//lib/erubi.rb#17
140
+ Erubi::FREEZE_TEMPLATE_LITERALS = T.let(T.unsafe(nil), TrueClass)
141
+
142
+ # source://erubi//lib/erubi.rb#15
143
+ Erubi::MATCH_METHOD = T.let(T.unsafe(nil), Symbol)
144
+
145
+ # source://erubi//lib/erubi.rb#8
146
+ Erubi::RANGE_FIRST = T.let(T.unsafe(nil), Integer)
147
+
148
+ # source://erubi//lib/erubi.rb#9
149
+ Erubi::RANGE_LAST = T.let(T.unsafe(nil), Integer)
150
+
151
+ # source://erubi//lib/erubi.rb#16
152
+ Erubi::SKIP_DEFINED_FOR_INSTANCE_VARIABLE = T.let(T.unsafe(nil), TrueClass)
153
+
154
+ # source://erubi//lib/erubi.rb#4
155
+ Erubi::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `highline` gem.
5
+ # Please instead update this file by running `bin/tapioca gem highline`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem