mootool 0.2.7 → 0.2.8

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 (100) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +7 -0
  3. data/Gemfile +1 -0
  4. data/Gemfile.lock +71 -67
  5. data/lib/mootool/command.rb +1 -0
  6. data/lib/mootool/controller_base.rb +1 -0
  7. data/lib/mootool/controllers/dwarf.rb +2 -1
  8. data/lib/mootool/controllers/dyld_linker.rb +1 -0
  9. data/lib/mootool/controllers/dyld_shared_cache.rb +1 -0
  10. data/lib/mootool/controllers/fat_binary.rb +1 -0
  11. data/lib/mootool/controllers/kernel_collection.rb +4 -3
  12. data/lib/mootool/controllers/sections.rb +1 -0
  13. data/lib/mootool/core_extensions.rb +3 -3
  14. data/lib/mootool/models/decompressor.rb +5 -2
  15. data/lib/mootool/models/device_tree.rb +5 -3
  16. data/lib/mootool/models/img4.rb +2 -1
  17. data/lib/mootool/models/ipsw.rb +5 -1
  18. data/lib/mootool/version.rb +2 -1
  19. data/lib/mootool.rb +1 -0
  20. data/sorbet/config +1 -1
  21. data/sorbet/rbi/annotations/.gitattributes +1 -0
  22. data/sorbet/rbi/annotations/rainbow.rbi +2 -2
  23. data/sorbet/rbi/gems/.gitattributes +1 -0
  24. data/sorbet/rbi/gems/ast@2.4.2.rbi +48 -82
  25. data/sorbet/rbi/gems/childprocess@4.1.0.rbi +107 -153
  26. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +192 -332
  27. data/sorbet/rbi/gems/docile@1.4.0.rbi +376 -0
  28. data/sorbet/rbi/gems/erubi@1.12.0.rbi +146 -0
  29. data/sorbet/rbi/gems/iniparse@1.5.0.rbi +166 -276
  30. data/sorbet/rbi/gems/{json@2.6.2.rbi → json@2.6.3.rbi} +119 -228
  31. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  32. data/sorbet/rbi/gems/lzfse@0.0.2.rbi +55 -0
  33. data/sorbet/rbi/gems/lzss@0.1.rbi +8 -0
  34. data/sorbet/rbi/gems/netrc@0.11.0.rbi +52 -80
  35. data/sorbet/rbi/gems/{overcommit@0.59.1.rbi → overcommit@0.60.0.rbi} +534 -887
  36. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  37. data/sorbet/rbi/gems/parser@3.2.2.4.rbi +5451 -0
  38. data/sorbet/rbi/gems/{plist@3.6.0.rbi → plist@3.7.0.rbi} +125 -3
  39. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  40. data/sorbet/rbi/gems/prism@0.17.1.rbi +27700 -0
  41. data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
  42. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +141 -191
  43. data/sorbet/rbi/gems/rake@13.1.0.rbi +2887 -0
  44. data/sorbet/rbi/gems/{rbi@0.0.15.rbi → rbi@0.1.4.rbi} +979 -1676
  45. data/sorbet/rbi/gems/regexp_parser@2.8.2.rbi +3749 -0
  46. data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.2.6.rbi} +811 -1268
  47. data/sorbet/rbi/gems/{rspec-core@3.11.0.rbi → rspec-core@3.12.2.rbi} +2662 -4722
  48. data/sorbet/rbi/gems/{rspec-expectations@3.11.0.rbi → rspec-expectations@3.12.3.rbi} +1557 -2608
  49. data/sorbet/rbi/gems/rspec-mocks@3.12.6.rbi +5306 -0
  50. data/sorbet/rbi/gems/rspec-support@3.12.1.rbi +1609 -0
  51. data/sorbet/rbi/gems/rspec@3.12.0.rbi +82 -0
  52. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7090 -0
  53. data/sorbet/rbi/gems/rubocop-capybara@2.19.0.rbi +1125 -0
  54. data/sorbet/rbi/gems/rubocop-factory_bot@2.24.0.rbi +878 -0
  55. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +88 -173
  56. data/sorbet/rbi/gems/rubocop-rspec@2.25.0.rbi +7997 -0
  57. data/sorbet/rbi/gems/rubocop@1.57.2.rbi +56813 -0
  58. data/sorbet/rbi/gems/ruby-lzma@0.4.3.rbi +19 -0
  59. data/sorbet/rbi/gems/ruby-macho@3.0.0.rbi +899 -1237
  60. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  61. data/sorbet/rbi/gems/rubyzip@2.3.2.rbi +808 -1275
  62. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +216 -0
  63. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +2148 -0
  64. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +8 -0
  65. data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
  66. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23136 -0
  67. data/sorbet/rbi/gems/tapioca@0.11.12.rbi +3507 -0
  68. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  69. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  70. data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.34.rbi} +4531 -7160
  71. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +24 -72
  72. data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +385 -1697
  73. data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +7 -30
  74. data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +1 -3
  75. data/sorbet/rbi/sorbet-typed/lib/thor/all/thor.rbi +905 -0
  76. data/sorbet/rbi/sorbet-typed/lib/yard/all/yard.rbi +35 -0
  77. data/sorbet/tapioca/require.rb +13 -1
  78. metadata +47 -35
  79. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -8
  80. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -8
  81. data/sorbet/rbi/gems/parallel@1.22.1.rbi +0 -353
  82. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +0 -6198
  83. data/sorbet/rbi/gems/pry@0.14.1.rbi +0 -8
  84. data/sorbet/rbi/gems/rake@13.0.6.rbi +0 -3587
  85. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +0 -3927
  86. data/sorbet/rbi/gems/rspec-mocks@3.11.1.rbi +0 -6506
  87. data/sorbet/rbi/gems/rspec-support@3.11.0.rbi +0 -2040
  88. data/sorbet/rbi/gems/rspec@3.11.0.rbi +0 -120
  89. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +0 -7990
  90. data/sorbet/rbi/gems/rubocop-rspec@2.12.1.rbi +0 -7604
  91. data/sorbet/rbi/gems/rubocop@1.35.0.rbi +0 -62260
  92. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +0 -1445
  93. data/sorbet/rbi/gems/spoom@1.1.12.rbi +0 -2829
  94. data/sorbet/rbi/gems/tapioca@0.9.3.rbi +0 -2151
  95. data/sorbet/rbi/gems/thor@1.2.1.rbi +0 -4532
  96. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +0 -60
  97. data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -8
  98. data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -3075
  99. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +0 -458
  100. data/sorbet/rbi/todo.rbi +0 -7
@@ -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#19
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,146 @@
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
+ # source://erubi//lib/erubi.rb#3
8
+ module Erubi
9
+ class << self
10
+ # source://erubi//lib/erubi.rb#35
11
+ def h(value); end
12
+ end
13
+ end
14
+
15
+ # source://erubi//lib/erubi.rb#54
16
+ class Erubi::Engine
17
+ # Initialize a new Erubi::Engine. Options:
18
+ # +:bufval+ :: The value to use for the buffer variable, as a string (default <tt>'::String.new'</tt>).
19
+ # +:bufvar+ :: The variable name to use for the buffer variable, as a string.
20
+ # +:chain_appends+ :: Whether to chain <tt><<</t> calls to the buffer variable. Offers better
21
+ # performance, but can cause issues when the buffer variable is reassigned during
22
+ # template rendering (default +false+).
23
+ # +:ensure+ :: Wrap the template in a begin/ensure block restoring the previous value of bufvar.
24
+ # +:escapefunc+ :: The function to use for escaping, as a string (default: <tt>'::Erubi.h'</tt>).
25
+ # +:escape+ :: Whether to make <tt><%=</tt> escape by default, and <tt><%==</tt> not escape by default.
26
+ # +:escape_html+ :: Same as +:escape+, with lower priority.
27
+ # +:filename+ :: The filename for the template.
28
+ # the resulting source code. Note this may cause problems if you are wrapping the resulting
29
+ # source code in other code, because the magic comment only has an effect at the beginning of
30
+ # the file, and having the magic comment later in the file can trigger warnings.
31
+ # +:freeze_template_literals+ :: Whether to suffix all literal strings for template code with <tt>.freeze</tt>
32
+ # (default: +true+ on Ruby 2.1+, +false+ on Ruby 2.0 and older).
33
+ # Can be set to +false+ on Ruby 2.3+ when frozen string literals are enabled
34
+ # in order to improve performance.
35
+ # +:literal_prefix+ :: The prefix to output when using escaped tag delimiters (default <tt>'<%'</tt>).
36
+ # +:literal_postfix+ :: The postfix to output when using escaped tag delimiters (default <tt>'%>'</tt>).
37
+ # +:outvar+ :: Same as +:bufvar+, with lower priority.
38
+ # +:postamble+ :: The postamble for the template, by default returns the resulting source code.
39
+ # +:preamble+ :: The preamble for the template, by default initializes the buffer variable.
40
+ # +:regexp+ :: The regexp to use for scanning.
41
+ # +:src+ :: The initial value to use for the source code, an empty string by default.
42
+ # +:trim+ :: Whether to trim leading and trailing whitespace, true by default.
43
+ #
44
+ # @return [Engine] a new instance of Engine
45
+ #
46
+ # source://erubi//lib/erubi.rb#94
47
+ def initialize(input, properties = T.unsafe(nil)); end
48
+
49
+ # The variable name used for the buffer variable.
50
+ #
51
+ # source://erubi//lib/erubi.rb#65
52
+ def bufvar; end
53
+
54
+ # The filename of the template, if one was given.
55
+ #
56
+ # source://erubi//lib/erubi.rb#62
57
+ def filename; end
58
+
59
+ # The frozen ruby source code generated from the template, which can be evaled.
60
+ #
61
+ # source://erubi//lib/erubi.rb#59
62
+ def src; end
63
+
64
+ private
65
+
66
+ # Add ruby code to the template
67
+ #
68
+ # source://erubi//lib/erubi.rb#226
69
+ def add_code(code); end
70
+
71
+ # Add the given ruby expression result to the template,
72
+ # escaping it based on the indicator given and escape flag.
73
+ #
74
+ # source://erubi//lib/erubi.rb#235
75
+ def add_expression(indicator, code); end
76
+
77
+ # Add the result of Ruby expression to the template
78
+ #
79
+ # source://erubi//lib/erubi.rb#244
80
+ def add_expression_result(code); end
81
+
82
+ # Add the escaped result of Ruby expression to the template
83
+ #
84
+ # source://erubi//lib/erubi.rb#249
85
+ def add_expression_result_escaped(code); end
86
+
87
+ # Add the given postamble to the src. Can be overridden in subclasses
88
+ # to make additional changes to src that depend on the current state.
89
+ #
90
+ # source://erubi//lib/erubi.rb#255
91
+ def add_postamble(postamble); end
92
+
93
+ # Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
94
+ # Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
95
+ #
96
+ # source://erubi//lib/erubi.rb#213
97
+ def add_text(text); end
98
+
99
+ # Raise an exception, as the base engine class does not support handling other indicators.
100
+ #
101
+ # @raise [ArgumentError]
102
+ #
103
+ # source://erubi//lib/erubi.rb#261
104
+ def handle(indicator, code, tailch, rspace, lspace); end
105
+
106
+ # Make sure that any current expression has been terminated.
107
+ # The default is to terminate all expressions, but when
108
+ # the chain_appends option is used, expressions may not be
109
+ # terminated.
110
+ #
111
+ # source://erubi//lib/erubi.rb#289
112
+ def terminate_expression; end
113
+
114
+ # Make sure the buffer variable is the target of the next append
115
+ # before yielding to the block. Mark that the buffer is the target
116
+ # of the next append after the block executes.
117
+ #
118
+ # This method should only be called if the block will result in
119
+ # code where << will append to the bufvar.
120
+ #
121
+ # source://erubi//lib/erubi.rb#271
122
+ def with_buffer; end
123
+ end
124
+
125
+ # The default regular expression used for scanning.
126
+ #
127
+ # source://erubi//lib/erubi.rb#56
128
+ Erubi::Engine::DEFAULT_REGEXP = T.let(T.unsafe(nil), Regexp)
129
+
130
+ # source://erubi//lib/erubi.rb#17
131
+ Erubi::FREEZE_TEMPLATE_LITERALS = T.let(T.unsafe(nil), TrueClass)
132
+
133
+ # source://erubi//lib/erubi.rb#15
134
+ Erubi::MATCH_METHOD = T.let(T.unsafe(nil), Symbol)
135
+
136
+ # source://erubi//lib/erubi.rb#8
137
+ Erubi::RANGE_FIRST = T.let(T.unsafe(nil), Integer)
138
+
139
+ # source://erubi//lib/erubi.rb#9
140
+ Erubi::RANGE_LAST = T.let(T.unsafe(nil), Integer)
141
+
142
+ # source://erubi//lib/erubi.rb#16
143
+ Erubi::SKIP_DEFINED_FOR_INSTANCE_VARIABLE = T.let(T.unsafe(nil), TrueClass)
144
+
145
+ # source://erubi//lib/erubi.rb#4
146
+ Erubi::VERSION = T.let(T.unsafe(nil), String)