# typed: true
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `erubi` gem.
# Please instead update this file by running `bin/tapioca gem erubi`.
# source://erubi-1.11.0/lib/erubi.rb:3
module Erubi
class << self
# source://erubi-1.11.0/lib/erubi.rb:28
def h(value); end
end
end
# source://erubi-1.11.0/lib/erubi.rb:46
class Erubi::Engine
# Initialize a new Erubi::Engine. Options:
# +:bufval+ :: The value to use for the buffer variable, as a string (default '::String.new').
# +:bufvar+ :: The variable name to use for the buffer variable, as a string.
# +:chain_appends+ :: Whether to chain << calls to the buffer variable. Offers better
# performance, but can cause issues when the buffer variable is reassigned during
# template rendering (default +false+).
# +:ensure+ :: Wrap the template in a begin/ensure block restoring the previous value of bufvar.
# +:escapefunc+ :: The function to use for escaping, as a string (default: '::Erubi.h').
# +:escape+ :: Whether to make <%= escape by default, and <%== not escape by default.
# +:escape_html+ :: Same as +:escape+, with lower priority.
# +:filename+ :: The filename for the template.
# the resulting source code. Note this may cause problems if you are wrapping the resulting
# source code in other code, because the magic comment only has an effect at the beginning of
# the file, and having the magic comment later in the file can trigger warnings.
# +:freeze_template_literals+ :: Whether to suffix all literal strings for template code with .freeze
# (default: +true+ on Ruby 2.1+, +false+ on Ruby 2.0 and older).
# Can be set to +false+ on Ruby 2.3+ when frozen string literals are enabled
# in order to improve performance.
# +:literal_prefix+ :: The prefix to output when using escaped tag delimiters (default '<%').
# +:literal_postfix+ :: The postfix to output when using escaped tag delimiters (default '%>').
# +:outvar+ :: Same as +:bufvar+, with lower priority.
# +:postamble+ :: The postamble for the template, by default returns the resulting source code.
# +:preamble+ :: The preamble for the template, by default initializes the buffer variable.
# +:regexp+ :: The regexp to use for scanning.
# +:src+ :: The initial value to use for the source code, an empty string by default.
# +:trim+ :: Whether to trim leading and trailing whitespace, true by default.
#
# @return [Engine] a new instance of Engine
#
# source://erubi-1.11.0/lib/erubi.rb:86
def initialize(input, properties = T.unsafe(nil)); end
# The variable name used for the buffer variable.
#
# source://erubi-1.11.0/lib/erubi.rb:57
def bufvar; end
# The filename of the template, if one was given.
#
# source://erubi-1.11.0/lib/erubi.rb:54
def filename; end
# The frozen ruby source code generated from the template, which can be evaled.
#
# source://erubi-1.11.0/lib/erubi.rb:51
def src; end
private
# Add ruby code to the template
#
# source://erubi-1.11.0/lib/erubi.rb:218
def add_code(code); end
# Add the given ruby expression result to the template,
# escaping it based on the indicator given and escape flag.
#
# source://erubi-1.11.0/lib/erubi.rb:227
def add_expression(indicator, code); end
# Add the result of Ruby expression to the template
#
# source://erubi-1.11.0/lib/erubi.rb:236
def add_expression_result(code); end
# Add the escaped result of Ruby expression to the template
#
# source://erubi-1.11.0/lib/erubi.rb:241
def add_expression_result_escaped(code); end
# Add the given postamble to the src. Can be overridden in subclasses
# to make additional changes to src that depend on the current state.
#
# source://erubi-1.11.0/lib/erubi.rb:247
def add_postamble(postamble); end
# Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
# Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
#
# source://erubi-1.11.0/lib/erubi.rb:205
def add_text(text); end
# Raise an exception, as the base engine class does not support handling other indicators.
#
# @raise [ArgumentError]
#
# source://erubi-1.11.0/lib/erubi.rb:253
def handle(indicator, code, tailch, rspace, lspace); end
# Make sure that any current expression has been terminated.
# The default is to terminate all expressions, but when
# the chain_appends option is used, expressions may not be
# terminated.
#
# source://erubi-1.11.0/lib/erubi.rb:281
def terminate_expression; end
# Make sure the buffer variable is the target of the next append
# before yielding to the block. Mark that the buffer is the target
# of the next append after the block executes.
#
# This method should only be called if the block will result in
# code where << will append to the bufvar.
#
# source://erubi-1.11.0/lib/erubi.rb:263
def with_buffer; end
end
# The default regular expression used for scanning.
#
# source://erubi-1.11.0/lib/erubi.rb:48
Erubi::Engine::DEFAULT_REGEXP = T.let(T.unsafe(nil), Regexp)
# source://erubi-1.11.0/lib/erubi.rb:15
Erubi::MATCH_METHOD = T.let(T.unsafe(nil), Symbol)
# source://erubi-1.11.0/lib/erubi.rb:8
Erubi::RANGE_FIRST = T.let(T.unsafe(nil), Integer)
# source://erubi-1.11.0/lib/erubi.rb:9
Erubi::RANGE_LAST = T.let(T.unsafe(nil), Integer)
# source://erubi-1.11.0/lib/erubi.rb:4
Erubi::VERSION = T.let(T.unsafe(nil), String)