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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +22 -21
- data/.ruby-version +1 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +24 -1
- data/Gemfile +3 -1
- data/Gemfile.lock +113 -54
- data/README.md +25 -5
- data/bin/tapioca +29 -0
- data/lib/repeatable/conversions.rb +2 -1
- data/lib/repeatable/expression/base.rb +6 -0
- data/lib/repeatable/expression/biweekly.rb +1 -0
- data/lib/repeatable/expression/date.rb +2 -0
- data/lib/repeatable/expression/day_in_month.rb +1 -0
- data/lib/repeatable/expression/difference.rb +1 -0
- data/lib/repeatable/expression/exact_date.rb +1 -0
- data/lib/repeatable/expression/intersection.rb +2 -0
- data/lib/repeatable/expression/range_in_year.rb +3 -0
- data/lib/repeatable/expression/set.rb +3 -2
- data/lib/repeatable/expression/union.rb +2 -0
- data/lib/repeatable/expression/weekday.rb +1 -0
- data/lib/repeatable/expression/weekday_in_month.rb +1 -0
- data/lib/repeatable/expression.rb +1 -0
- data/lib/repeatable/last_date_of_month.rb +1 -0
- data/lib/repeatable/parse_error.rb +1 -0
- data/lib/repeatable/parser.rb +1 -0
- data/lib/repeatable/schedule.rb +6 -0
- data/lib/repeatable/types.rb +1 -0
- data/lib/repeatable/version.rb +2 -1
- data/lib/repeatable.rb +1 -0
- data/rbi/repeatable.rbi +9 -3
- data/sorbet/config +2 -1
- data/sorbet/rbi/annotations/.gitattributes +1 -0
- data/sorbet/rbi/{sorbet-typed/lib/rainbow/all → annotations}/rainbow.rbi +23 -30
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/ast@2.4.3.rbi +584 -0
- data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
- data/sorbet/rbi/gems/commander@5.0.0.rbi +9 -0
- data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +1134 -0
- data/sorbet/rbi/gems/docile@1.4.1.rbi +376 -0
- data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
- data/sorbet/rbi/gems/highline@3.0.1.rbi +9 -0
- data/sorbet/rbi/gems/json@2.13.2.rbi +2087 -0
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +14243 -0
- data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +239 -0
- data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
- data/sorbet/rbi/gems/method_source@1.1.0.rbi +304 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
- data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
- data/sorbet/rbi/gems/parlour@9.1.2.rbi +3071 -0
- data/sorbet/rbi/gems/parser@3.3.9.0.rbi +7337 -0
- data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
- data/sorbet/rbi/gems/pry@0.15.2.rbi +10265 -0
- data/sorbet/rbi/gems/racc@1.8.1.rbi +164 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
- data/sorbet/rbi/gems/rake@13.3.0.rbi +3031 -0
- data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
- data/sorbet/rbi/gems/rbs@3.9.5.rbi +6976 -0
- data/sorbet/rbi/gems/regexp_parser@2.11.2.rbi +3845 -0
- data/sorbet/rbi/gems/rexml@3.4.3.rbi +5285 -0
- data/sorbet/rbi/gems/rspec-core@3.13.5.rbi +11238 -0
- data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +8189 -0
- data/sorbet/rbi/gems/rspec-mocks@3.13.5.rbi +5350 -0
- data/sorbet/rbi/gems/rspec-support@3.13.5.rbi +1627 -0
- data/sorbet/rbi/gems/rspec@3.13.1.rbi +83 -0
- data/sorbet/rbi/gems/rubocop-ast@1.46.0.rbi +7734 -0
- data/sorbet/rbi/gems/rubocop-performance@1.25.0.rbi +9 -0
- data/sorbet/rbi/gems/rubocop@1.80.2.rbi +63354 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
- data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +225 -0
- data/sorbet/rbi/gems/simplecov@0.22.0.rbi +2149 -0
- data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +239 -0
- data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
- data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +8 -0
- data/sorbet/rbi/gems/standard-performance@1.8.0.rbi +9 -0
- data/sorbet/rbi/gems/standard@1.51.0.rbi +935 -0
- data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
- data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
- data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +132 -0
- data/sorbet/rbi/gems/unicode-emoji@4.1.0.rbi +251 -0
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
- data/sorbet/rbi/gems/yard@0.9.37.rbi +18378 -0
- data/sorbet/tapioca/config.yml +13 -0
- data/sorbet/tapioca/require.rb +4 -0
- metadata +59 -39
- data/sorbet/rbi/gems/ast.rbi +0 -49
- data/sorbet/rbi/gems/coderay.rbi +0 -285
- data/sorbet/rbi/gems/commander.rbi +0 -197
- data/sorbet/rbi/gems/docile.rbi +0 -36
- data/sorbet/rbi/gems/highline.rbi +0 -577
- data/sorbet/rbi/gems/method_source.rbi +0 -64
- data/sorbet/rbi/gems/parallel.rbi +0 -83
- data/sorbet/rbi/gems/parlour.rbi +0 -840
- data/sorbet/rbi/gems/parser.rbi +0 -1950
- data/sorbet/rbi/gems/pry.rbi +0 -1898
- data/sorbet/rbi/gems/rainbow.rbi +0 -118
- data/sorbet/rbi/gems/rake.rbi +0 -646
- data/sorbet/rbi/gems/regexp_parser.rbi +0 -926
- data/sorbet/rbi/gems/repeatable.rbi +0 -13
- data/sorbet/rbi/gems/rexml.rbi +0 -583
- data/sorbet/rbi/gems/rspec-core.rbi +0 -1919
- data/sorbet/rbi/gems/rspec-expectations.rbi +0 -1150
- data/sorbet/rbi/gems/rspec-mocks.rbi +0 -1100
- data/sorbet/rbi/gems/rspec-support.rbi +0 -280
- data/sorbet/rbi/gems/rspec.rbi +0 -15
- data/sorbet/rbi/gems/rubocop-ast.rbi +0 -1356
- data/sorbet/rbi/gems/rubocop-performance.rbi +0 -487
- data/sorbet/rbi/gems/rubocop.rbi +0 -7923
- data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -304
- data/sorbet/rbi/gems/simplecov-html.rbi +0 -35
- data/sorbet/rbi/gems/simplecov.rbi +0 -419
- data/sorbet/rbi/gems/simplecov_json_formatter.rbi +0 -47
- data/sorbet/rbi/gems/standard.rbi +0 -130
- data/sorbet/rbi/gems/unicode-display_width.rbi +0 -20
- data/sorbet/rbi/hidden-definitions/errors.txt +0 -4273
- data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -9013
- data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +0 -645
- data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +0 -24
- data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +0 -12
- 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
|