connection_pool.rb
block in wait_poll
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
block in wait_poll
return remove if any?
elapsed = Concurrent.monotonic_time - t0
if elapsed >= timeout
msg = "could not obtain a connection from the pool within %0.3f seconds (waited %0.3f seconds); all pooled connections were in use" %
[timeout, elapsed]
raise ConnectionTimeoutError, msg
end
end
ensure
@num_waiting -= 1
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
loop
# Waits on the queue up to +timeout+ seconds, then removes and
# returns the head of the queue.
def wait_poll(timeout)
@num_waiting += 1
t0 = Concurrent.monotonic_time
elapsed = 0
loop do
ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
@cond.wait(timeout - elapsed)
end
return remove if any?
elapsed = Concurrent.monotonic_time - t0
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
wait_poll
# Waits on the queue up to +timeout+ seconds, then removes and
# returns the head of the queue.
def wait_poll(timeout)
@num_waiting += 1
t0 = Concurrent.monotonic_time
elapsed = 0
loop do
ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
@cond.wait(timeout - elapsed)
end
return remove if any?
elapsed = Concurrent.monotonic_time - t0
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
internal_poll
# becomes available within +timeout+ seconds,
def poll(timeout = nil)
synchronize { internal_poll(timeout) }
end
private
def internal_poll(timeout)
no_wait_poll || (timeout && wait_poll(timeout))
end
def synchronize(&block)
@lock.synchronize(&block)
end
# Test if the queue currently contains any elements.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
internal_poll
# <tt>@lock</tt> as the main pool) so that a returned connection is already
# leased and there is no need to re-enter synchronized block.
class ConnectionLeasingQueue < Queue # :nodoc:
include BiasableQueue
private
def internal_poll(timeout)
conn = super
conn.lease if conn
conn
end
end
# Every +frequency+ seconds, the reaper will call +reap+ and +flush+ on
# +pool+. A reaper instantiated with a zero frequency will never reap
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
block in poll
# available, waiting up to +timeout+ seconds for an element to
# become available.
#
# Raises:
# - ActiveRecord::ConnectionTimeoutError if +timeout+ is given and no element
# becomes available within +timeout+ seconds,
def poll(timeout = nil)
synchronize { internal_poll(timeout) }
end
private
def internal_poll(timeout)
no_wait_poll || (timeout && wait_poll(timeout))
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/2.7.0/monitor.rb
in
synchronize
#
# Enters exclusive section and executes the block. Leaves the exclusive
# section automatically when the block exits. See example under
# +MonitorMixin+.
#
def mon_synchronize(&b)
@mon_data.synchronize(&b)
end
alias synchronize mon_synchronize
#
# Creates a new MonitorMixin::ConditionVariable associated with the
# Monitor object.
#
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/2.7.0/monitor.rb
in
mon_synchronize
#
# Enters exclusive section and executes the block. Leaves the exclusive
# section automatically when the block exits. See example under
# +MonitorMixin+.
#
def mon_synchronize(&b)
@mon_data.synchronize(&b)
end
alias synchronize mon_synchronize
#
# Creates a new MonitorMixin::ConditionVariable associated with the
# Monitor object.
#
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
synchronize
private
def internal_poll(timeout)
no_wait_poll || (timeout && wait_poll(timeout))
end
def synchronize(&block)
@lock.synchronize(&block)
end
# Test if the queue currently contains any elements.
def any?
!@queue.empty?
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
poll
# available, waiting up to +timeout+ seconds for an element to
# become available.
#
# Raises:
# - ActiveRecord::ConnectionTimeoutError if +timeout+ is given and no element
# becomes available within +timeout+ seconds,
def poll(timeout = nil)
synchronize { internal_poll(timeout) }
end
private
def internal_poll(timeout)
no_wait_poll || (timeout && wait_poll(timeout))
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
acquire_connection
# <tt>synchronize { conn.lease }</tt> in this method, but by leaving it to <tt>@available.poll</tt>
# and +try_to_checkout_new_connection+ we can piggyback on +synchronize+ sections
# of the said methods and avoid an additional +synchronize+ overhead.
if conn = @available.poll || try_to_checkout_new_connection
conn
else
reap
@available.poll(checkout_timeout)
end
end
#--
# if owner_thread param is omitted, this must be called in synchronize block
def remove_connection_from_thread_cache(conn, owner_thread = conn.owner)
@thread_cached_conns.delete_pair(connection_cache_key(owner_thread), conn)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
checkout
# size limit set), an ActiveRecord::ConnectionTimeoutError exception will be raised.
#
# Returns: an AbstractAdapter object.
#
# Raises:
# - ActiveRecord::ConnectionTimeoutError no connection can be obtained from the pool.
def checkout(checkout_timeout = @checkout_timeout)
checkout_and_verify(acquire_connection(checkout_timeout))
end
# Check-in a database connection back into the pool, indicating that you
# no longer need this connection.
#
# +conn+: an AbstractAdapter object, which was obtained by earlier by
# calling #checkout on this pool.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
connection
# Retrieve the connection associated with the current thread, or call
# #checkout to obtain one if necessary.
#
# #connection can be called any number of times; the connection is
# held in a cache keyed by a thread.
def connection
@thread_cached_conns[connection_cache_key(current_thread)] ||= checkout
end
# Returns true if there is an open connection being used for the current thread.
#
# This method only works for connections that have been obtained through
# #connection or #with_connection methods. Connections obtained through
# #checkout will not be detected by #active_connection?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb
in
retrieve_connection
else
message = "No connection pool for '#{spec_name}' found."
end
raise ConnectionNotEstablished, message
end
pool.connection
end
# Returns true if a connection that's accessible to this class has
# already been opened.
def connected?(spec_name, role: ActiveRecord::Base.current_role, shard: ActiveRecord::Base.current_shard)
pool = retrieve_connection_pool(spec_name, role: role, shard: shard)
pool && pool.connected?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_handling.rb
in
retrieve_connection
end
def connection_pool
connection_handler.retrieve_connection_pool(connection_specification_name, role: current_role, shard: current_shard) || raise(ConnectionNotEstablished)
end
def retrieve_connection
connection_handler.retrieve_connection(connection_specification_name, role: current_role, shard: current_shard)
end
# Returns +true+ if Active Record is connected.
def connected?
connection_handler.connected?(connection_specification_name, role: current_role, shard: current_shard)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_handling.rb
in
connection
end
end
# Returns the connection currently associated with the class. This can
# also be used to "borrow" the connection to do database work unrelated
# to any of the specific Active Records.
def connection
retrieve_connection
end
attr_writer :connection_specification_name
# Return the connection specification name from the current class or its parent.
def connection_specification_name
if !defined?(@connection_specification_name) || @connection_specification_name.nil?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation/delegation.rb
in
connection
# for each different klass, and the delegations are compiled into that subclass only.
delegate :to_xml, :encode_with, :length, :each, :join,
:[], :&, :|, :+, :-, :sample, :reverse, :rotate, :compact, :in_groups, :in_groups_of,
:to_sentence, :to_formatted_s, :as_json,
:shuffle, :split, :slice, :index, :rindex, to: :records
delegate :primary_key, :connection, to: :klass
module ClassSpecificRelation # :nodoc:
extend ActiveSupport::Concern
module ClassMethods # :nodoc:
def name
superclass.name
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation.rb
in
alias_tracker
end
def has_limit_or_offset? # :nodoc:
limit_value || offset_value
end
def alias_tracker(joins = [], aliases = nil) # :nodoc:
ActiveRecord::Associations::AliasTracker.create(connection, table.name, joins, aliases)
end
class StrictLoadingScope # :nodoc:
def self.empty_scope?
true
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation/query_methods.rb
in
build_joins
stashed_joins = buckets[:stashed_join]
leading_joins = buckets[:leading_join]
join_nodes = buckets[:join_node]
join_sources.concat(leading_joins) unless leading_joins.empty?
unless association_joins.empty? && stashed_joins.empty?
alias_tracker = alias_tracker(leading_joins + join_nodes, aliases)
join_dependency = construct_join_dependency(association_joins, join_type)
join_sources.concat(join_dependency.join_constraints(stashed_joins, alias_tracker, references_values))
end
join_sources.concat(join_nodes) unless join_nodes.empty?
join_sources
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation/query_methods.rb
in
build_arel
raise ImmutableRelation if @loaded
raise ImmutableRelation if defined?(@arel) && @arel
end
def build_arel(aliases)
arel = Arel::SelectManager.new(table)
build_joins(arel.join_sources, aliases)
arel.where(where_clause.ast) unless where_clause.empty?
arel.having(having_clause.ast) unless having_clause.empty?
arel.take(build_cast_value("LIMIT", connection.sanitize_limit(limit_value))) if limit_value
arel.skip(build_cast_value("OFFSET", offset_value.to_i)) if offset_value
arel.group(*arel_columns(group_values.uniq)) unless group_values.empty?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation/query_methods.rb
in
arel
values.uniq! if values.is_a?(Array) && !values.empty?
end
self
end
# Returns the Arel object associated with the relation.
def arel(aliases = nil) # :nodoc:
@arel ||= build_arel(aliases)
end
def construct_join_dependency(associations, join_type) # :nodoc:
ActiveRecord::Associations::JoinDependency.new(
klass, table, associations, join_type
)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation.rb
in
block in exec_queries
else
relation = join_dependency.apply_column_aliases(relation)
rows = connection.select_all(relation.arel, "SQL")
join_dependency.instantiate(rows, strict_loading_value, &block)
end.freeze
end
else
klass.find_by_sql(arel, &block).freeze
end
preload_associations(records) unless skip_preloading_value
records.each(&:readonly!) if readonly_value
records.each(&:strict_loading!) if strict_loading_value
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation.rb
in
skip_query_cache_if_necessary
def skip_query_cache_if_necessary
if skip_query_cache_value
uncached do
yield
end
else
yield
end
end
def build_preloader
ActiveRecord::Associations::Preloader.new
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation.rb
in
exec_queries
bind = predicate_builder.build_bind_attribute(attribute.name, value.abs)
expr = table.coalesce(Arel::Nodes::UnqualifiedColumn.new(attribute), 0)
expr = value < 0 ? expr - bind : expr + bind
expr.expr
end
def exec_queries(&block)
skip_query_cache_if_necessary do
records =
if where_clause.contradiction?
[]
elsif eager_loading?
apply_join_dependency do |relation, join_dependency|
if relation.null_relation?
[]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation.rb
in
load
# been loaded already. You can use this if for some reason you need
# to explicitly load some records before actually using them. The
# return value is the relation itself, not the records.
#
# Post.where(published: true).load # => #<ActiveRecord::Relation>
def load(&block)
unless loaded?
@records = exec_queries(&block)
@loaded = true
end
self
end
# Forces reloading of relation.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation.rb
in
records
# Converts relation objects to Array.
def to_ary
records.dup
end
alias to_a to_ary
def records # :nodoc:
load
@records
end
# Serializes the relation objects Array.
def encode_with(coder)
coder.represent_seq(nil, records)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activerecord-6.1.0/lib/active_record/relation/delegation.rb
in
each
extend ActiveSupport::Concern
# This module creates compiled delegation methods dynamically at runtime, which makes
# subsequent calls to that method faster by avoiding method_missing. The delegations
# may vary depending on the klass of a relation, so we create a subclass of Relation
# for each different klass, and the delegations are compiled into that subclass only.
delegate :to_xml, :encode_with, :length, :each, :join,
:[], :&, :|, :+, :-, :sample, :reverse, :rotate, :compact, :in_groups, :in_groups_of,
:to_sentence, :to_formatted_s, :as_json,
:shuffle, :split, :slice, :index, :rindex, to: :records
delegate :primary_key, :connection, to: :klass
module ClassSpecificRelation # :nodoc:
/home/deploy/yogamela/project/routes.rb
in
uniq
before "/*/" do
redirect request.path_info.chomp("/")
end
get "/" do
# @ads = AdGeoname.roots.where(feature_code: COUNTRY_FEATURE_CODES).order('short asc')
@countries = Ad.where(feature_code: COUNTRY_FEATURE_CODES).joins(:items_of_country).where(items_of_country: { listed: true }).uniq
@adm1s = Ad.where(feature_code: "ADM1") .joins(:items_of_adm1) .where(items_of_adm1: { listed: true }).uniq
@adm2s = Ad.where(feature_code: "ADM2") .joins(:items_of_adm2) .where(items_of_adm2: { listed: true }).uniq
@pps = Ad.where(feature_code: PPL_FEATURE_CODES) .joins(:items_of_pp) .where(items_of_pp: { listed: true }).uniq
@home_country = Ad.where(short: "United States").first #feature_code: COUNTRY_FEATURE_CODES,
@countries = Ad.where(feature_code: COUNTRY_FEATURE_CODES)
/home/deploy/yogamela/project/routes.rb
in
block in <class:RoutesController>
before "/*/" do
redirect request.path_info.chomp("/")
end
get "/" do
# @ads = AdGeoname.roots.where(feature_code: COUNTRY_FEATURE_CODES).order('short asc')
@countries = Ad.where(feature_code: COUNTRY_FEATURE_CODES).joins(:items_of_country).where(items_of_country: { listed: true }).uniq
@adm1s = Ad.where(feature_code: "ADM1") .joins(:items_of_adm1) .where(items_of_adm1: { listed: true }).uniq
@adm2s = Ad.where(feature_code: "ADM2") .joins(:items_of_adm2) .where(items_of_adm2: { listed: true }).uniq
@pps = Ad.where(feature_code: PPL_FEATURE_CODES) .joins(:items_of_pp) .where(items_of_pp: { listed: true }).uniq
@home_country = Ad.where(short: "United States").first #feature_code: COUNTRY_FEATURE_CODES,
@countries = Ad.where(feature_code: COUNTRY_FEATURE_CODES)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
pattern = compile(path, route_mustermann_opts)
method_name = "#{verb} #{path}"
unbound_method = generate_method(method_name, &block)
conditions = @conditions
@conditions = []
wrapper = block.arity.zero? ?
proc { |a, _p| unbound_method.bind(a).call } :
proc { |a, p| unbound_method.bind(a).call(*p) }
[pattern, conditions, wrapper]
end
def compile(path, route_mustermann_opts = {})
Mustermann.new(path, **mustermann_opts.merge(route_mustermann_opts))
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in compile!
pattern = compile(path, route_mustermann_opts)
method_name = "#{verb} #{path}"
unbound_method = generate_method(method_name, &block)
conditions = @conditions
@conditions = []
wrapper = block.arity.zero? ?
proc { |a, _p| unbound_method.bind(a).call } :
proc { |a, p| unbound_method.bind(a).call(*p) }
[pattern, conditions, wrapper]
end
def compile(path, route_mustermann_opts = {})
Mustermann.new(path, **mustermann_opts.merge(route_mustermann_opts))
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block (3 levels) in route!
routes = base.routes[@request.request_method]
routes&.each do |pattern, conditions, block|
response.delete_header('Content-Type') unless @pinned_response
returned_pass_block = process_route(pattern, conditions) do |*args|
env['sinatra.route'] = "#{@request.request_method} #{pattern}"
route_eval { block[*args] }
end
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route_eval
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval
throw :halt, yield
end
# If the current request matches pattern and conditions, fill params
# with keys and call the given block.
# Revert params afterwards.
#
# Returns pass block.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block (2 levels) in route!
routes = base.routes[@request.request_method]
routes&.each do |pattern, conditions, block|
response.delete_header('Content-Type') unless @pinned_response
returned_pass_block = process_route(pattern, conditions) do |*args|
env['sinatra.route'] = "#{@request.request_method} #{pattern}"
route_eval { block[*args] }
end
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in process_route
@params[:captures] = force_encoding(captures) unless captures.nil? || captures.empty?
else
values += params.values.flatten
end
catch(:pass) do
conditions.each { |c| throw :pass if c.bind(self).call == false }
block ? block[self, values] : yield(self, values)
end
rescue StandardError
@env['sinatra.error.params'] = @params
raise
ensure
params ||= {}
params.each { |k, _| @params.delete(k) } unless @env['sinatra.error.params']
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
captures = pattern.match(route).captures.map { |c| URI_INSTANCE.unescape(c) if c }
values += captures
@params[:captures] = force_encoding(captures) unless captures.nil? || captures.empty?
else
values += params.values.flatten
end
catch(:pass) do
conditions.each { |c| throw :pass if c.bind(self).call == false }
block ? block[self, values] : yield(self, values)
end
rescue StandardError
@env['sinatra.error.params'] = @params
raise
ensure
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
process_route
captures = pattern.match(route).captures.map { |c| URI_INSTANCE.unescape(c) if c }
values += captures
@params[:captures] = force_encoding(captures) unless captures.nil? || captures.empty?
else
values += params.values.flatten
end
catch(:pass) do
conditions.each { |c| throw :pass if c.bind(self).call == false }
block ? block[self, values] : yield(self, values)
end
rescue StandardError
@env['sinatra.error.params'] = @params
raise
ensure
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in route!
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
routes = base.routes[@request.request_method]
routes&.each do |pattern, conditions, block|
response.delete_header('Content-Type') unless @pinned_response
returned_pass_block = process_route(pattern, conditions) do |*args|
env['sinatra.route'] = "#{@request.request_method} #{pattern}"
route_eval { block[*args] }
end
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
each
end
end
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
routes = base.routes[@request.request_method]
routes&.each do |pattern, conditions, block|
response.delete_header('Content-Type') unless @pinned_response
returned_pass_block = process_route(pattern, conditions) do |*args|
env['sinatra.route'] = "#{@request.request_method} #{pattern}"
route_eval { block[*args] }
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
end
end
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
routes = base.routes[@request.request_method]
routes&.each do |pattern, conditions, block|
response.delete_header('Content-Type') unless @pinned_response
returned_pass_block = process_route(pattern, conditions) do |*args|
env['sinatra.route'] = "#{@request.request_method} #{pattern}"
route_eval { block[*args] }
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in dispatch!
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
invoke { handle_exception!(e) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
dispatch!
@params.merge!(@request.params).each do |key, val|
next unless val.respond_to?(:force_encoding)
val = val.dup if val.frozen?
@params[key] = force_encoding(val)
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
@template_cache = Tilt::Cache.new
@pinned_response = nil # whether a before! filter pinned the content-type
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
def call!(env) # :nodoc:
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-flash3-1.0.5/lib/rack/flash.rb
in
call
def call(env)
env['x-rack.flash'] ||= Rack::Flash::FlashHash.new(env['rack.session'], @opts)
if @opts[:sweep]
env['x-rack.flash'].flag!
end
res = @app.call(env)
if @opts[:sweep]
env['x-rack.flash'].sweep!
end
res
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/xss_header.rb
in
call
#
# Options:
# xss_mode:: How the browser should prevent the attack (default: :block)
class XSSHeader < Base
default_options xss_mode: :block, nosniff: true
def call(env)
status, headers, body = @app.call(env)
headers['X-XSS-Protection'] ||= "1; mode=#{options[:xss_mode]}" if html? headers
headers['X-Content-Type-Options'] ||= 'nosniff' if options[:nosniff]
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/path_traversal.rb
in
call
#
# Unescapes '/' and '.', expands +path_info+.
# Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
class PathTraversal < Base
def call(env)
path_was = env['PATH_INFO']
env['PATH_INFO'] = cleanup path_was if path_was && !path_was.empty?
app.call env
ensure
env['PATH_INFO'] = path_was
end
def cleanup(path)
encoding = path.encoding
dot = '.'.encode(encoding)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/json_csrf.rb
in
call
class JsonCsrf < Base
default_options allow_if: nil
alias react deny
def call(env)
request = Request.new(env)
status, headers, body = app.call(env)
if has_vector?(request, headers)
warn env, "attack prevented by #{self.class}"
react_and_close(env, body) or [status, headers, body]
else
[status, headers, body]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/frame_options.rb
in
call
frame_options = options[:frame_options]
frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
frame_options.to_str
end
end
def call(env)
status, headers, body = @app.call(env)
headers['X-Frame-Options'] ||= frame_options if html? headers
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
context
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
commit_session(req, res)
[status, headers, body]
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
call
@key = @default_options.delete(:key)
@cookie_only = @default_options.delete(:cookie_only)
@same_site = @default_options.delete(:same_site)
initialize_sid
end
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/null_logger.rb
in
call
class NullLogger
def initialize(app)
@app = app
end
def call(env)
env[RACK_LOGGER] = self
@app.call(env)
end
def info(progname = nil, &block); end
def debug(progname = nil, &block); end
def warn(progname = nil, &block); end
def error(progname = nil, &block); end
def fatal(progname = nil, &block); end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/head.rb
in
call
# all other requests unchanged.
class Head
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
status, headers, Rack::BodyProxy.new([]) do
body.close if body.respond_to? :close
end
]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/show_exceptions.rb
in
call
def @@eats_errors.puts(*) end
def initialize(app)
@app = app
end
def call(env)
@app.call(env)
rescue Exception => e
errors = env['rack.errors']
env['rack.errors'] = @@eats_errors
if prefers_plain_text?(env)
content_type = 'text/plain'
body = dump_exception(e)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
# Some Rack handlers (Rainbows!) implement an extended body object protocol, however,
# some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
# This middleware will detect an extended body object and will make sure it reaches the
# handler directly. We do this here, so our middleware and middleware set up by the app will
# still be able to run.
class ExtendedRack < Struct.new(:app)
def call(env)
result = app.call(env)
callback = env['async.callback']
return result unless callback && async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
end
def helpers
@instance
end
def call(env)
@stack.call(env)
end
def inspect
"#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
forward
throw :pass, block
end
# Forward the request to the downstream app -- middleware only.
def forward
raise 'downstream app not set' unless @app.respond_to? :call
status, headers, body = @app.call env
@response.status = status
@response.body = body
@response.headers.merge! headers
nil
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route_missing
# implementation is to forward the request downstream when running
# as middleware (@app is non-nil); when no downstream app is set, raise
# a NotFound exception. Subclasses can override this method to perform
# custom route miss logic.
def route_missing
raise NotFound unless @app
forward
end
# Attempt to serve static files from public directory. Throws :halt when
# a matching file is found, returns nil otherwise.
def static!(options = {})
return if (public_dir = settings.public_folder).nil?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval
throw :halt, yield
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in dispatch!
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
invoke { handle_exception!(e) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
dispatch!
@params.merge!(@request.params).each do |key, val|
next unless val.respond_to?(:force_encoding)
val = val.dup if val.frozen?
@params[key] = force_encoding(val)
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
@template_cache = Tilt::Cache.new
@pinned_response = nil # whether a before! filter pinned the content-type
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
def call!(env) # :nodoc:
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-flash3-1.0.5/lib/rack/flash.rb
in
call
def call(env)
env['x-rack.flash'] ||= Rack::Flash::FlashHash.new(env['rack.session'], @opts)
if @opts[:sweep]
env['x-rack.flash'].flag!
end
res = @app.call(env)
if @opts[:sweep]
env['x-rack.flash'].sweep!
end
res
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/xss_header.rb
in
call
#
# Options:
# xss_mode:: How the browser should prevent the attack (default: :block)
class XSSHeader < Base
default_options xss_mode: :block, nosniff: true
def call(env)
status, headers, body = @app.call(env)
headers['X-XSS-Protection'] ||= "1; mode=#{options[:xss_mode]}" if html? headers
headers['X-Content-Type-Options'] ||= 'nosniff' if options[:nosniff]
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/path_traversal.rb
in
call
#
# Unescapes '/' and '.', expands +path_info+.
# Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
class PathTraversal < Base
def call(env)
path_was = env['PATH_INFO']
env['PATH_INFO'] = cleanup path_was if path_was && !path_was.empty?
app.call env
ensure
env['PATH_INFO'] = path_was
end
def cleanup(path)
encoding = path.encoding
dot = '.'.encode(encoding)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/json_csrf.rb
in
call
class JsonCsrf < Base
default_options allow_if: nil
alias react deny
def call(env)
request = Request.new(env)
status, headers, body = app.call(env)
if has_vector?(request, headers)
warn env, "attack prevented by #{self.class}"
react_and_close(env, body) or [status, headers, body]
else
[status, headers, body]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/frame_options.rb
in
call
frame_options = options[:frame_options]
frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
frame_options.to_str
end
end
def call(env)
status, headers, body = @app.call(env)
headers['X-Frame-Options'] ||= frame_options if html? headers
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
context
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
commit_session(req, res)
[status, headers, body]
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
call
@key = @default_options.delete(:key)
@cookie_only = @default_options.delete(:cookie_only)
@same_site = @default_options.delete(:same_site)
initialize_sid
end
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/null_logger.rb
in
call
class NullLogger
def initialize(app)
@app = app
end
def call(env)
env[RACK_LOGGER] = self
@app.call(env)
end
def info(progname = nil, &block); end
def debug(progname = nil, &block); end
def warn(progname = nil, &block); end
def error(progname = nil, &block); end
def fatal(progname = nil, &block); end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/head.rb
in
call
# all other requests unchanged.
class Head
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
status, headers, Rack::BodyProxy.new([]) do
body.close if body.respond_to? :close
end
]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/show_exceptions.rb
in
call
def @@eats_errors.puts(*) end
def initialize(app)
@app = app
end
def call(env)
@app.call(env)
rescue Exception => e
errors = env['rack.errors']
env['rack.errors'] = @@eats_errors
if prefers_plain_text?(env)
content_type = 'text/plain'
body = dump_exception(e)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
# Some Rack handlers (Rainbows!) implement an extended body object protocol, however,
# some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
# This middleware will detect an extended body object and will make sure it reaches the
# handler directly. We do this here, so our middleware and middleware set up by the app will
# still be able to run.
class ExtendedRack < Struct.new(:app)
def call(env)
result = app.call(env)
callback = env['async.callback']
return result unless callback && async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
end
def helpers
@instance
end
def call(env)
@stack.call(env)
end
def inspect
"#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
forward
throw :pass, block
end
# Forward the request to the downstream app -- middleware only.
def forward
raise 'downstream app not set' unless @app.respond_to? :call
status, headers, body = @app.call env
@response.status = status
@response.body = body
@response.headers.merge! headers
nil
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route_missing
# implementation is to forward the request downstream when running
# as middleware (@app is non-nil); when no downstream app is set, raise
# a NotFound exception. Subclasses can override this method to perform
# custom route miss logic.
def route_missing
raise NotFound unless @app
forward
end
# Attempt to serve static files from public directory. Throws :halt when
# a matching file is found, returns nil otherwise.
def static!(options = {})
return if (public_dir = settings.public_folder).nil?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval
throw :halt, yield
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in dispatch!
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
invoke { handle_exception!(e) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
dispatch!
@params.merge!(@request.params).each do |key, val|
next unless val.respond_to?(:force_encoding)
val = val.dup if val.frozen?
@params[key] = force_encoding(val)
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
@template_cache = Tilt::Cache.new
@pinned_response = nil # whether a before! filter pinned the content-type
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
def call!(env) # :nodoc:
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-flash3-1.0.5/lib/rack/flash.rb
in
call
def call(env)
env['x-rack.flash'] ||= Rack::Flash::FlashHash.new(env['rack.session'], @opts)
if @opts[:sweep]
env['x-rack.flash'].flag!
end
res = @app.call(env)
if @opts[:sweep]
env['x-rack.flash'].sweep!
end
res
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/xss_header.rb
in
call
#
# Options:
# xss_mode:: How the browser should prevent the attack (default: :block)
class XSSHeader < Base
default_options xss_mode: :block, nosniff: true
def call(env)
status, headers, body = @app.call(env)
headers['X-XSS-Protection'] ||= "1; mode=#{options[:xss_mode]}" if html? headers
headers['X-Content-Type-Options'] ||= 'nosniff' if options[:nosniff]
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/path_traversal.rb
in
call
#
# Unescapes '/' and '.', expands +path_info+.
# Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
class PathTraversal < Base
def call(env)
path_was = env['PATH_INFO']
env['PATH_INFO'] = cleanup path_was if path_was && !path_was.empty?
app.call env
ensure
env['PATH_INFO'] = path_was
end
def cleanup(path)
encoding = path.encoding
dot = '.'.encode(encoding)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/json_csrf.rb
in
call
class JsonCsrf < Base
default_options allow_if: nil
alias react deny
def call(env)
request = Request.new(env)
status, headers, body = app.call(env)
if has_vector?(request, headers)
warn env, "attack prevented by #{self.class}"
react_and_close(env, body) or [status, headers, body]
else
[status, headers, body]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/frame_options.rb
in
call
frame_options = options[:frame_options]
frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
frame_options.to_str
end
end
def call(env)
status, headers, body = @app.call(env)
headers['X-Frame-Options'] ||= frame_options if html? headers
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
context
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
commit_session(req, res)
[status, headers, body]
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
call
@key = @default_options.delete(:key)
@cookie_only = @default_options.delete(:cookie_only)
@same_site = @default_options.delete(:same_site)
initialize_sid
end
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/null_logger.rb
in
call
class NullLogger
def initialize(app)
@app = app
end
def call(env)
env[RACK_LOGGER] = self
@app.call(env)
end
def info(progname = nil, &block); end
def debug(progname = nil, &block); end
def warn(progname = nil, &block); end
def error(progname = nil, &block); end
def fatal(progname = nil, &block); end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/head.rb
in
call
# all other requests unchanged.
class Head
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
status, headers, Rack::BodyProxy.new([]) do
body.close if body.respond_to? :close
end
]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/show_exceptions.rb
in
call
def @@eats_errors.puts(*) end
def initialize(app)
@app = app
end
def call(env)
@app.call(env)
rescue Exception => e
errors = env['rack.errors']
env['rack.errors'] = @@eats_errors
if prefers_plain_text?(env)
content_type = 'text/plain'
body = dump_exception(e)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
# Some Rack handlers (Rainbows!) implement an extended body object protocol, however,
# some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
# This middleware will detect an extended body object and will make sure it reaches the
# handler directly. We do this here, so our middleware and middleware set up by the app will
# still be able to run.
class ExtendedRack < Struct.new(:app)
def call(env)
result = app.call(env)
callback = env['async.callback']
return result unless callback && async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
end
def helpers
@instance
end
def call(env)
@stack.call(env)
end
def inspect
"#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
forward
throw :pass, block
end
# Forward the request to the downstream app -- middleware only.
def forward
raise 'downstream app not set' unless @app.respond_to? :call
status, headers, body = @app.call env
@response.status = status
@response.body = body
@response.headers.merge! headers
nil
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route_missing
# implementation is to forward the request downstream when running
# as middleware (@app is non-nil); when no downstream app is set, raise
# a NotFound exception. Subclasses can override this method to perform
# custom route miss logic.
def route_missing
raise NotFound unless @app
forward
end
# Attempt to serve static files from public directory. Throws :halt when
# a matching file is found, returns nil otherwise.
def static!(options = {})
return if (public_dir = settings.public_folder).nil?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval
throw :halt, yield
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in dispatch!
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
invoke { handle_exception!(e) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
dispatch!
@params.merge!(@request.params).each do |key, val|
next unless val.respond_to?(:force_encoding)
val = val.dup if val.frozen?
@params[key] = force_encoding(val)
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
@template_cache = Tilt::Cache.new
@pinned_response = nil # whether a before! filter pinned the content-type
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
def call!(env) # :nodoc:
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-flash3-1.0.5/lib/rack/flash.rb
in
call
def call(env)
env['x-rack.flash'] ||= Rack::Flash::FlashHash.new(env['rack.session'], @opts)
if @opts[:sweep]
env['x-rack.flash'].flag!
end
res = @app.call(env)
if @opts[:sweep]
env['x-rack.flash'].sweep!
end
res
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/xss_header.rb
in
call
#
# Options:
# xss_mode:: How the browser should prevent the attack (default: :block)
class XSSHeader < Base
default_options xss_mode: :block, nosniff: true
def call(env)
status, headers, body = @app.call(env)
headers['X-XSS-Protection'] ||= "1; mode=#{options[:xss_mode]}" if html? headers
headers['X-Content-Type-Options'] ||= 'nosniff' if options[:nosniff]
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/path_traversal.rb
in
call
#
# Unescapes '/' and '.', expands +path_info+.
# Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
class PathTraversal < Base
def call(env)
path_was = env['PATH_INFO']
env['PATH_INFO'] = cleanup path_was if path_was && !path_was.empty?
app.call env
ensure
env['PATH_INFO'] = path_was
end
def cleanup(path)
encoding = path.encoding
dot = '.'.encode(encoding)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/json_csrf.rb
in
call
class JsonCsrf < Base
default_options allow_if: nil
alias react deny
def call(env)
request = Request.new(env)
status, headers, body = app.call(env)
if has_vector?(request, headers)
warn env, "attack prevented by #{self.class}"
react_and_close(env, body) or [status, headers, body]
else
[status, headers, body]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/frame_options.rb
in
call
frame_options = options[:frame_options]
frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
frame_options.to_str
end
end
def call(env)
status, headers, body = @app.call(env)
headers['X-Frame-Options'] ||= frame_options if html? headers
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
context
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
commit_session(req, res)
[status, headers, body]
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
call
@key = @default_options.delete(:key)
@cookie_only = @default_options.delete(:cookie_only)
@same_site = @default_options.delete(:same_site)
initialize_sid
end
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/null_logger.rb
in
call
class NullLogger
def initialize(app)
@app = app
end
def call(env)
env[RACK_LOGGER] = self
@app.call(env)
end
def info(progname = nil, &block); end
def debug(progname = nil, &block); end
def warn(progname = nil, &block); end
def error(progname = nil, &block); end
def fatal(progname = nil, &block); end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/head.rb
in
call
# all other requests unchanged.
class Head
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
status, headers, Rack::BodyProxy.new([]) do
body.close if body.respond_to? :close
end
]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/show_exceptions.rb
in
call
def @@eats_errors.puts(*) end
def initialize(app)
@app = app
end
def call(env)
@app.call(env)
rescue Exception => e
errors = env['rack.errors']
env['rack.errors'] = @@eats_errors
if prefers_plain_text?(env)
content_type = 'text/plain'
body = dump_exception(e)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
# Some Rack handlers (Rainbows!) implement an extended body object protocol, however,
# some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
# This middleware will detect an extended body object and will make sure it reaches the
# handler directly. We do this here, so our middleware and middleware set up by the app will
# still be able to run.
class ExtendedRack < Struct.new(:app)
def call(env)
result = app.call(env)
callback = env['async.callback']
return result unless callback && async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
end
def helpers
@instance
end
def call(env)
@stack.call(env)
end
def inspect
"#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
forward
throw :pass, block
end
# Forward the request to the downstream app -- middleware only.
def forward
raise 'downstream app not set' unless @app.respond_to? :call
status, headers, body = @app.call env
@response.status = status
@response.body = body
@response.headers.merge! headers
nil
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route_missing
# implementation is to forward the request downstream when running
# as middleware (@app is non-nil); when no downstream app is set, raise
# a NotFound exception. Subclasses can override this method to perform
# custom route miss logic.
def route_missing
raise NotFound unless @app
forward
end
# Attempt to serve static files from public directory. Throws :halt when
# a matching file is found, returns nil otherwise.
def static!(options = {})
return if (public_dir = settings.public_folder).nil?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval
throw :halt, yield
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in dispatch!
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
invoke { handle_exception!(e) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
dispatch!
@params.merge!(@request.params).each do |key, val|
next unless val.respond_to?(:force_encoding)
val = val.dup if val.frozen?
@params[key] = force_encoding(val)
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
@template_cache = Tilt::Cache.new
@pinned_response = nil # whether a before! filter pinned the content-type
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
def call!(env) # :nodoc:
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-flash3-1.0.5/lib/rack/flash.rb
in
call
def call(env)
env['x-rack.flash'] ||= Rack::Flash::FlashHash.new(env['rack.session'], @opts)
if @opts[:sweep]
env['x-rack.flash'].flag!
end
res = @app.call(env)
if @opts[:sweep]
env['x-rack.flash'].sweep!
end
res
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/xss_header.rb
in
call
#
# Options:
# xss_mode:: How the browser should prevent the attack (default: :block)
class XSSHeader < Base
default_options xss_mode: :block, nosniff: true
def call(env)
status, headers, body = @app.call(env)
headers['X-XSS-Protection'] ||= "1; mode=#{options[:xss_mode]}" if html? headers
headers['X-Content-Type-Options'] ||= 'nosniff' if options[:nosniff]
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/path_traversal.rb
in
call
#
# Unescapes '/' and '.', expands +path_info+.
# Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
class PathTraversal < Base
def call(env)
path_was = env['PATH_INFO']
env['PATH_INFO'] = cleanup path_was if path_was && !path_was.empty?
app.call env
ensure
env['PATH_INFO'] = path_was
end
def cleanup(path)
encoding = path.encoding
dot = '.'.encode(encoding)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/json_csrf.rb
in
call
class JsonCsrf < Base
default_options allow_if: nil
alias react deny
def call(env)
request = Request.new(env)
status, headers, body = app.call(env)
if has_vector?(request, headers)
warn env, "attack prevented by #{self.class}"
react_and_close(env, body) or [status, headers, body]
else
[status, headers, body]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/frame_options.rb
in
call
frame_options = options[:frame_options]
frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
frame_options.to_str
end
end
def call(env)
status, headers, body = @app.call(env)
headers['X-Frame-Options'] ||= frame_options if html? headers
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
context
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
commit_session(req, res)
[status, headers, body]
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
call
@key = @default_options.delete(:key)
@cookie_only = @default_options.delete(:cookie_only)
@same_site = @default_options.delete(:same_site)
initialize_sid
end
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/null_logger.rb
in
call
class NullLogger
def initialize(app)
@app = app
end
def call(env)
env[RACK_LOGGER] = self
@app.call(env)
end
def info(progname = nil, &block); end
def debug(progname = nil, &block); end
def warn(progname = nil, &block); end
def error(progname = nil, &block); end
def fatal(progname = nil, &block); end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/head.rb
in
call
# all other requests unchanged.
class Head
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
status, headers, Rack::BodyProxy.new([]) do
body.close if body.respond_to? :close
end
]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/show_exceptions.rb
in
call
def @@eats_errors.puts(*) end
def initialize(app)
@app = app
end
def call(env)
@app.call(env)
rescue Exception => e
errors = env['rack.errors']
env['rack.errors'] = @@eats_errors
if prefers_plain_text?(env)
content_type = 'text/plain'
body = dump_exception(e)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
# Some Rack handlers (Rainbows!) implement an extended body object protocol, however,
# some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
# This middleware will detect an extended body object and will make sure it reaches the
# handler directly. We do this here, so our middleware and middleware set up by the app will
# still be able to run.
class ExtendedRack < Struct.new(:app)
def call(env)
result = app.call(env)
callback = env['async.callback']
return result unless callback && async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
end
def helpers
@instance
end
def call(env)
@stack.call(env)
end
def inspect
"#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
forward
throw :pass, block
end
# Forward the request to the downstream app -- middleware only.
def forward
raise 'downstream app not set' unless @app.respond_to? :call
status, headers, body = @app.call env
@response.status = status
@response.body = body
@response.headers.merge! headers
nil
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route_missing
# implementation is to forward the request downstream when running
# as middleware (@app is non-nil); when no downstream app is set, raise
# a NotFound exception. Subclasses can override this method to perform
# custom route miss logic.
def route_missing
raise NotFound unless @app
forward
end
# Attempt to serve static files from public directory. Throws :halt when
# a matching file is found, returns nil otherwise.
def static!(options = {})
return if (public_dir = settings.public_folder).nil?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval
throw :halt, yield
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in dispatch!
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
invoke { handle_exception!(e) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
dispatch!
@params.merge!(@request.params).each do |key, val|
next unless val.respond_to?(:force_encoding)
val = val.dup if val.frozen?
@params[key] = force_encoding(val)
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
@template_cache = Tilt::Cache.new
@pinned_response = nil # whether a before! filter pinned the content-type
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
def call!(env) # :nodoc:
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-flash3-1.0.5/lib/rack/flash.rb
in
call
def call(env)
env['x-rack.flash'] ||= Rack::Flash::FlashHash.new(env['rack.session'], @opts)
if @opts[:sweep]
env['x-rack.flash'].flag!
end
res = @app.call(env)
if @opts[:sweep]
env['x-rack.flash'].sweep!
end
res
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/xss_header.rb
in
call
#
# Options:
# xss_mode:: How the browser should prevent the attack (default: :block)
class XSSHeader < Base
default_options xss_mode: :block, nosniff: true
def call(env)
status, headers, body = @app.call(env)
headers['X-XSS-Protection'] ||= "1; mode=#{options[:xss_mode]}" if html? headers
headers['X-Content-Type-Options'] ||= 'nosniff' if options[:nosniff]
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/path_traversal.rb
in
call
#
# Unescapes '/' and '.', expands +path_info+.
# Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
class PathTraversal < Base
def call(env)
path_was = env['PATH_INFO']
env['PATH_INFO'] = cleanup path_was if path_was && !path_was.empty?
app.call env
ensure
env['PATH_INFO'] = path_was
end
def cleanup(path)
encoding = path.encoding
dot = '.'.encode(encoding)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/json_csrf.rb
in
call
class JsonCsrf < Base
default_options allow_if: nil
alias react deny
def call(env)
request = Request.new(env)
status, headers, body = app.call(env)
if has_vector?(request, headers)
warn env, "attack prevented by #{self.class}"
react_and_close(env, body) or [status, headers, body]
else
[status, headers, body]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/frame_options.rb
in
call
frame_options = options[:frame_options]
frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
frame_options.to_str
end
end
def call(env)
status, headers, body = @app.call(env)
headers['X-Frame-Options'] ||= frame_options if html? headers
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
context
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
commit_session(req, res)
[status, headers, body]
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
call
@key = @default_options.delete(:key)
@cookie_only = @default_options.delete(:cookie_only)
@same_site = @default_options.delete(:same_site)
initialize_sid
end
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/null_logger.rb
in
call
class NullLogger
def initialize(app)
@app = app
end
def call(env)
env[RACK_LOGGER] = self
@app.call(env)
end
def info(progname = nil, &block); end
def debug(progname = nil, &block); end
def warn(progname = nil, &block); end
def error(progname = nil, &block); end
def fatal(progname = nil, &block); end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/head.rb
in
call
# all other requests unchanged.
class Head
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
status, headers, Rack::BodyProxy.new([]) do
body.close if body.respond_to? :close
end
]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/show_exceptions.rb
in
call
def @@eats_errors.puts(*) end
def initialize(app)
@app = app
end
def call(env)
@app.call(env)
rescue Exception => e
errors = env['rack.errors']
env['rack.errors'] = @@eats_errors
if prefers_plain_text?(env)
content_type = 'text/plain'
body = dump_exception(e)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
# Some Rack handlers (Rainbows!) implement an extended body object protocol, however,
# some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
# This middleware will detect an extended body object and will make sure it reaches the
# handler directly. We do this here, so our middleware and middleware set up by the app will
# still be able to run.
class ExtendedRack < Struct.new(:app)
def call(env)
result = app.call(env)
callback = env['async.callback']
return result unless callback && async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
end
def helpers
@instance
end
def call(env)
@stack.call(env)
end
def inspect
"#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
forward
throw :pass, block
end
# Forward the request to the downstream app -- middleware only.
def forward
raise 'downstream app not set' unless @app.respond_to? :call
status, headers, body = @app.call env
@response.status = status
@response.body = body
@response.headers.merge! headers
nil
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route_missing
# implementation is to forward the request downstream when running
# as middleware (@app is non-nil); when no downstream app is set, raise
# a NotFound exception. Subclasses can override this method to perform
# custom route miss logic.
def route_missing
raise NotFound unless @app
forward
end
# Attempt to serve static files from public directory. Throws :halt when
# a matching file is found, returns nil otherwise.
def static!(options = {})
return if (public_dir = settings.public_folder).nil?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval
throw :halt, yield
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in dispatch!
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
invoke { handle_exception!(e) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
dispatch!
@params.merge!(@request.params).each do |key, val|
next unless val.respond_to?(:force_encoding)
val = val.dup if val.frozen?
@params[key] = force_encoding(val)
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
@template_cache = Tilt::Cache.new
@pinned_response = nil # whether a before! filter pinned the content-type
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
def call!(env) # :nodoc:
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-flash3-1.0.5/lib/rack/flash.rb
in
call
def call(env)
env['x-rack.flash'] ||= Rack::Flash::FlashHash.new(env['rack.session'], @opts)
if @opts[:sweep]
env['x-rack.flash'].flag!
end
res = @app.call(env)
if @opts[:sweep]
env['x-rack.flash'].sweep!
end
res
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/xss_header.rb
in
call
#
# Options:
# xss_mode:: How the browser should prevent the attack (default: :block)
class XSSHeader < Base
default_options xss_mode: :block, nosniff: true
def call(env)
status, headers, body = @app.call(env)
headers['X-XSS-Protection'] ||= "1; mode=#{options[:xss_mode]}" if html? headers
headers['X-Content-Type-Options'] ||= 'nosniff' if options[:nosniff]
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/path_traversal.rb
in
call
#
# Unescapes '/' and '.', expands +path_info+.
# Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
class PathTraversal < Base
def call(env)
path_was = env['PATH_INFO']
env['PATH_INFO'] = cleanup path_was if path_was && !path_was.empty?
app.call env
ensure
env['PATH_INFO'] = path_was
end
def cleanup(path)
encoding = path.encoding
dot = '.'.encode(encoding)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/json_csrf.rb
in
call
class JsonCsrf < Base
default_options allow_if: nil
alias react deny
def call(env)
request = Request.new(env)
status, headers, body = app.call(env)
if has_vector?(request, headers)
warn env, "attack prevented by #{self.class}"
react_and_close(env, body) or [status, headers, body]
else
[status, headers, body]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/frame_options.rb
in
call
frame_options = options[:frame_options]
frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
frame_options.to_str
end
end
def call(env)
status, headers, body = @app.call(env)
headers['X-Frame-Options'] ||= frame_options if html? headers
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
context
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
commit_session(req, res)
[status, headers, body]
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
call
@key = @default_options.delete(:key)
@cookie_only = @default_options.delete(:cookie_only)
@same_site = @default_options.delete(:same_site)
initialize_sid
end
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/null_logger.rb
in
call
class NullLogger
def initialize(app)
@app = app
end
def call(env)
env[RACK_LOGGER] = self
@app.call(env)
end
def info(progname = nil, &block); end
def debug(progname = nil, &block); end
def warn(progname = nil, &block); end
def error(progname = nil, &block); end
def fatal(progname = nil, &block); end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/head.rb
in
call
# all other requests unchanged.
class Head
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
status, headers, Rack::BodyProxy.new([]) do
body.close if body.respond_to? :close
end
]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/show_exceptions.rb
in
call
def @@eats_errors.puts(*) end
def initialize(app)
@app = app
end
def call(env)
@app.call(env)
rescue Exception => e
errors = env['rack.errors']
env['rack.errors'] = @@eats_errors
if prefers_plain_text?(env)
content_type = 'text/plain'
body = dump_exception(e)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
# Some Rack handlers (Rainbows!) implement an extended body object protocol, however,
# some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
# This middleware will detect an extended body object and will make sure it reaches the
# handler directly. We do this here, so our middleware and middleware set up by the app will
# still be able to run.
class ExtendedRack < Struct.new(:app)
def call(env)
result = app.call(env)
callback = env['async.callback']
return result unless callback && async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
end
def helpers
@instance
end
def call(env)
@stack.call(env)
end
def inspect
"#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
forward
throw :pass, block
end
# Forward the request to the downstream app -- middleware only.
def forward
raise 'downstream app not set' unless @app.respond_to? :call
status, headers, body = @app.call env
@response.status = status
@response.body = body
@response.headers.merge! headers
nil
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route_missing
# implementation is to forward the request downstream when running
# as middleware (@app is non-nil); when no downstream app is set, raise
# a NotFound exception. Subclasses can override this method to perform
# custom route miss logic.
def route_missing
raise NotFound unless @app
forward
end
# Attempt to serve static files from public directory. Throws :halt when
# a matching file is found, returns nil otherwise.
def static!(options = {})
return if (public_dir = settings.public_folder).nil?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval
throw :halt, yield
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in dispatch!
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
invoke { handle_exception!(e) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
dispatch!
@params.merge!(@request.params).each do |key, val|
next unless val.respond_to?(:force_encoding)
val = val.dup if val.frozen?
@params[key] = force_encoding(val)
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
@template_cache = Tilt::Cache.new
@pinned_response = nil # whether a before! filter pinned the content-type
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
def call!(env) # :nodoc:
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-flash3-1.0.5/lib/rack/flash.rb
in
call
def call(env)
env['x-rack.flash'] ||= Rack::Flash::FlashHash.new(env['rack.session'], @opts)
if @opts[:sweep]
env['x-rack.flash'].flag!
end
res = @app.call(env)
if @opts[:sweep]
env['x-rack.flash'].sweep!
end
res
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/xss_header.rb
in
call
#
# Options:
# xss_mode:: How the browser should prevent the attack (default: :block)
class XSSHeader < Base
default_options xss_mode: :block, nosniff: true
def call(env)
status, headers, body = @app.call(env)
headers['X-XSS-Protection'] ||= "1; mode=#{options[:xss_mode]}" if html? headers
headers['X-Content-Type-Options'] ||= 'nosniff' if options[:nosniff]
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/path_traversal.rb
in
call
#
# Unescapes '/' and '.', expands +path_info+.
# Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
class PathTraversal < Base
def call(env)
path_was = env['PATH_INFO']
env['PATH_INFO'] = cleanup path_was if path_was && !path_was.empty?
app.call env
ensure
env['PATH_INFO'] = path_was
end
def cleanup(path)
encoding = path.encoding
dot = '.'.encode(encoding)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/json_csrf.rb
in
call
class JsonCsrf < Base
default_options allow_if: nil
alias react deny
def call(env)
request = Request.new(env)
status, headers, body = app.call(env)
if has_vector?(request, headers)
warn env, "attack prevented by #{self.class}"
react_and_close(env, body) or [status, headers, body]
else
[status, headers, body]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/frame_options.rb
in
call
frame_options = options[:frame_options]
frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
frame_options.to_str
end
end
def call(env)
status, headers, body = @app.call(env)
headers['X-Frame-Options'] ||= frame_options if html? headers
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
context
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
commit_session(req, res)
[status, headers, body]
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
call
@key = @default_options.delete(:key)
@cookie_only = @default_options.delete(:cookie_only)
@same_site = @default_options.delete(:same_site)
initialize_sid
end
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/null_logger.rb
in
call
class NullLogger
def initialize(app)
@app = app
end
def call(env)
env[RACK_LOGGER] = self
@app.call(env)
end
def info(progname = nil, &block); end
def debug(progname = nil, &block); end
def warn(progname = nil, &block); end
def error(progname = nil, &block); end
def fatal(progname = nil, &block); end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/head.rb
in
call
# all other requests unchanged.
class Head
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
status, headers, Rack::BodyProxy.new([]) do
body.close if body.respond_to? :close
end
]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/show_exceptions.rb
in
call
def @@eats_errors.puts(*) end
def initialize(app)
@app = app
end
def call(env)
@app.call(env)
rescue Exception => e
errors = env['rack.errors']
env['rack.errors'] = @@eats_errors
if prefers_plain_text?(env)
content_type = 'text/plain'
body = dump_exception(e)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
# Some Rack handlers (Rainbows!) implement an extended body object protocol, however,
# some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
# This middleware will detect an extended body object and will make sure it reaches the
# handler directly. We do this here, so our middleware and middleware set up by the app will
# still be able to run.
class ExtendedRack < Struct.new(:app)
def call(env)
result = app.call(env)
callback = env['async.callback']
return result unless callback && async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
end
def helpers
@instance
end
def call(env)
@stack.call(env)
end
def inspect
"#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
forward
throw :pass, block
end
# Forward the request to the downstream app -- middleware only.
def forward
raise 'downstream app not set' unless @app.respond_to? :call
status, headers, body = @app.call env
@response.status = status
@response.body = body
@response.headers.merge! headers
nil
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route_missing
# implementation is to forward the request downstream when running
# as middleware (@app is non-nil); when no downstream app is set, raise
# a NotFound exception. Subclasses can override this method to perform
# custom route miss logic.
def route_missing
raise NotFound unless @app
forward
end
# Attempt to serve static files from public directory. Throws :halt when
# a matching file is found, returns nil otherwise.
def static!(options = {})
return if (public_dir = settings.public_folder).nil?
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval
throw :halt, yield
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
route!
# don't wipe out pass_block in superclass
pass_block = returned_pass_block if returned_pass_block
end
# Run routes defined in superclass.
if base.superclass.respond_to?(:routes)
return route!(base.superclass, pass_block)
end
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in dispatch!
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
invoke { handle_exception!(e) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
dispatch!
@params.merge!(@request.params).each do |key, val|
next unless val.respond_to?(:force_encoding)
val = val.dup if val.frozen?
@params[key] = force_encoding(val)
end
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before do
@pinned_response = !response['Content-Type'].nil?
end
route!
end
rescue ::Exception => e
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
block in call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
catch
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
invoke
env['sinatra.static_file'] = path
cache_control(*settings.static_cache_control) if settings.static_cache_control?
send_file path, options.merge(disposition: nil)
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt, &block)
res = [res] if (Integer === res) || (String === res)
if (Array === res) && (Integer === res.first)
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
@pinned_response = nil
template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body && body[0].respond_to?(:content_type)
content_type body[0].content_type
elsif (default = settings.default_content_type)
content_type default
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
@template_cache = Tilt::Cache.new
@pinned_response = nil # whether a before! filter pinned the content-type
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
def call!(env) # :nodoc:
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-flash3-1.0.5/lib/rack/flash.rb
in
call
def call(env)
env['x-rack.flash'] ||= Rack::Flash::FlashHash.new(env['rack.session'], @opts)
if @opts[:sweep]
env['x-rack.flash'].flag!
end
res = @app.call(env)
if @opts[:sweep]
env['x-rack.flash'].sweep!
end
res
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/xss_header.rb
in
call
#
# Options:
# xss_mode:: How the browser should prevent the attack (default: :block)
class XSSHeader < Base
default_options xss_mode: :block, nosniff: true
def call(env)
status, headers, body = @app.call(env)
headers['X-XSS-Protection'] ||= "1; mode=#{options[:xss_mode]}" if html? headers
headers['X-Content-Type-Options'] ||= 'nosniff' if options[:nosniff]
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/path_traversal.rb
in
call
#
# Unescapes '/' and '.', expands +path_info+.
# Thus <tt>GET /foo/%2e%2e%2fbar</tt> becomes <tt>GET /bar</tt>.
class PathTraversal < Base
def call(env)
path_was = env['PATH_INFO']
env['PATH_INFO'] = cleanup path_was if path_was && !path_was.empty?
app.call env
ensure
env['PATH_INFO'] = path_was
end
def cleanup(path)
encoding = path.encoding
dot = '.'.encode(encoding)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/json_csrf.rb
in
call
class JsonCsrf < Base
default_options allow_if: nil
alias react deny
def call(env)
request = Request.new(env)
status, headers, body = app.call(env)
if has_vector?(request, headers)
warn env, "attack prevented by #{self.class}"
react_and_close(env, body) or [status, headers, body]
else
[status, headers, body]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb
in
call
end
def call(env)
unless accepts? env
instrument env
result = react env
end
result or app.call(env)
end
def react(env)
result = send(options[:reaction], env)
result if (Array === result) && (result.size == 3)
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-protection-3.0.6/lib/rack/protection/frame_options.rb
in
call
frame_options = options[:frame_options]
frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
frame_options.to_str
end
end
def call(env)
status, headers, body = @app.call(env)
headers['X-Frame-Options'] ||= frame_options if html? headers
[status, headers, body]
end
end
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
context
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
commit_session(req, res)
[status, headers, body]
end
private
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb
in
call
@key = @default_options.delete(:key)
@cookie_only = @default_options.delete(:cookie_only)
@same_site = @default_options.delete(:same_site)
initialize_sid
end
def call(env)
context(env)
end
def context(env, app = @app)
req = make_request env
prepare_session(req)
status, headers, body = app.call(req.env)
res = Rack::Response::Raw.new status, headers
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/null_logger.rb
in
call
class NullLogger
def initialize(app)
@app = app
end
def call(env)
env[RACK_LOGGER] = self
@app.call(env)
end
def info(progname = nil, &block); end
def debug(progname = nil, &block); end
def warn(progname = nil, &block); end
def error(progname = nil, &block); end
def fatal(progname = nil, &block); end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/head.rb
in
call
# all other requests unchanged.
class Head
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if env[REQUEST_METHOD] == HEAD
[
status, headers, Rack::BodyProxy.new([]) do
body.close if body.respond_to? :close
end
]
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/show_exceptions.rb
in
call
def @@eats_errors.puts(*) end
def initialize(app)
@app = app
end
def call(env)
@app.call(env)
rescue Exception => e
errors = env['rack.errors']
env['rack.errors'] = @@eats_errors
if prefers_plain_text?(env)
content_type = 'text/plain'
body = dump_exception(e)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
# Some Rack handlers (Rainbows!) implement an extended body object protocol, however,
# some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
# This middleware will detect an extended body object and will make sure it reaches the
# handler directly. We do this here, so our middleware and middleware set up by the app will
# still be able to run.
class ExtendedRack < Struct.new(:app)
def call(env)
result = app.call(env)
callback = env['async.callback']
return result unless callback && async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/sinatra-3.0.6/lib/sinatra/base.rb
in
call
end
def helpers
@instance
end
def call(env)
@stack.call(env)
end
def inspect
"#<#{@instance.class} app_file=#{settings.app_file.inspect}>"
end
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rack-2.2.7/lib/rack/method_override.rb
in
call
method = method_override(env)
if HTTP_METHODS.include?(method)
env[RACK_METHODOVERRIDE_ORIGINAL_METHOD] = env[REQUEST_METHOD]
env[REQUEST_METHOD] = method
end
end
@app.call(env)
end
def method_override(env)
req = Request.new(env)
method = method_override_param(req) ||
env[HTTP_METHOD_OVERRIDE_HEADER]
begin
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/puma-6.3.0/lib/puma/configuration.rb
in
call
def initialize(config, app)
@config = config
@app = app
end
def call(env)
env[Const::PUMA_CONFIG] = @config
@app.call(env)
end
end
# Indicate if there is a properly configured app
#
def app_configured?
@options[:app] || File.exist?(rackup)
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/puma-6.3.0/lib/puma/request.rb
in
block in handle_request
# array, we will invoke them when the request is done.
#
env[RACK_AFTER_REPLY] ||= []
begin
if @supported_http_methods == :any || @supported_http_methods.key?(env[REQUEST_METHOD])
status, headers, app_body = @thread_pool.with_force_shutdown do
@app.call(env)
end
else
@log_writer.log "Unsupported HTTP method used: #{env[REQUEST_METHOD]}"
status, headers, app_body = [501, {}, ["#{env[REQUEST_METHOD]} method is not supported"]]
end
# app_body needs to always be closed, hold value in case lowlevel_error
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/puma-6.3.0/lib/puma/thread_pool.rb
in
with_force_shutdown
# provided block if the thread is forced to shutdown during execution.
def with_force_shutdown
t = Thread.current
@shutdown_mutex.synchronize do
raise ForceShutdown if @force_shutdown
t[:with_force_shutdown] = true
end
yield
ensure
t[:with_force_shutdown] = false
end
# Tell all threads in the pool to exit and wait for them to finish.
# Wait +timeout+ seconds then raise +ForceShutdown+ in remaining threads.
# Next, wait an extra +@shutdown_grace_time+ seconds then force-kill remaining
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/puma-6.3.0/lib/puma/request.rb
in
handle_request
# A rack extension. If the app writes #call'ables to this
# array, we will invoke them when the request is done.
#
env[RACK_AFTER_REPLY] ||= []
begin
if @supported_http_methods == :any || @supported_http_methods.key?(env[REQUEST_METHOD])
status, headers, app_body = @thread_pool.with_force_shutdown do
@app.call(env)
end
else
@log_writer.log "Unsupported HTTP method used: #{env[REQUEST_METHOD]}"
status, headers, app_body = [501, {}, ["#{env[REQUEST_METHOD]} method is not supported"]]
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/puma-6.3.0/lib/puma/server.rb
in
process_client
with_force_shutdown(client) do
client.finish(@first_data_timeout)
end
while true
@requests_count += 1
case handle_request(client, requests + 1)
when false
break
when :async
close_socket = false
break
when true
ThreadPool.clean_thread_locals if clean_thread_locals
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/puma-6.3.0/lib/puma/server.rb
in
block in run
def run(background=true, thread_name: 'srv')
BasicSocket.do_not_reverse_lookup = true
@events.fire :state, :booting
@status = :run
@thread_pool = ThreadPool.new(thread_name, @options) { |client| process_client client }
if @queue_requests
@reactor = Reactor.new(@io_selector_backend) { |c| reactor_wakeup c }
@reactor.run
end
/home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/puma-6.3.0/lib/puma/thread_pool.rb
in
block in spawn_thread
end
if @clean_thread_locals
ThreadPool.clean_thread_locals
end
begin
@out_of_band_pending = true if block.call(work)
rescue Exception => e
STDERR.puts "Error reached top of thread-pool: #{e.message} (#{e.class})"
end
end
end
@workers << th
No GET data.
No POST data.
Variable | Value |
---|---|
GATEWAY_INTERFACE | CGI/1.2 |
HTTP_ACCEPT | */* |
HTTP_CONNECTION | close |
HTTP_HOST | yogamela.com |
HTTP_REFERER | https://yogamela.com/idaho/reiki-yoga |
HTTP_USER_AGENT | claudebot |
HTTP_VERSION | HTTP/1.0 |
HTTP_X_FORWARDED_FOR | 54.226.94.217 |
HTTP_X_FORWARDED_PROTO | https |
HTTP_X_REAL_IP | 54.226.94.217 |
PATH_INFO | / |
QUERY_STRING | |
REMOTE_ADDR | 127.0.0.1 |
REQUEST_METHOD | GET |
REQUEST_PATH | / |
REQUEST_URI | / |
SCRIPT_NAME | |
SERVER_NAME | yogamela.com |
SERVER_PORT | 443 |
SERVER_PROTOCOL | HTTP/1.0 |
SERVER_SOFTWARE | puma 6.3.0 Mugi No Toki Itaru |
puma.config | #<Puma::Configuration:0x00005583fe10e730 @options=#<Puma::UserFileDefaultOptions:0x00005583fe10e4b0 @user_options={:environment=>"production", :log_writer=>#<Puma::LogWriter:0x00005583fe10fa90 @formatter=#<Puma::LogWriter::DefaultFormatter:0x00005583fe10fa40>, @custom_logger=nil, @stdout=#<IO:<STDOUT>>, @stderr=#<IO:<STDERR>>, @debug=false, @error_logger=#<Puma::ErrorLogger:0x00005583fe10f9c8 @ioerr=#<IO:<STDERR>>, @debug=false>>}, @file_options={:config_files=>["/home/deploy/yogamela/config/puma.rb"], :binds=>["unix:///home/deploy/yogamela/tmp/puma.sock"], :pidfile=>"/home/deploy/yogamela/tmp/puma.pid", :state=>"/home/deploy/yogamela/tmp/puma.state", :rackup=>"/home/deploy/yogamela/config.ru", :workers=>0, :min_threads=>1, :max_threads=>6, :control_url=>"unix:///tmp/puma-status-1701499817402-781344", :control_url_temp=>"/tmp/puma-status-1701499817402-781344", :control_auth_token=>"e8bd2e5bd11dbea4ab83e30e62bf41f9"}, @default_options={:auto_trim_time=>30, :binds=>["tcp://0.0.0.0:9292"], :clean_thread_locals=>false, :debug=>false, :early_hints=>nil, :environment=>"production", :first_data_timeout=>30, :io_selector_backend=>:auto, :log_requests=>false, :logger=>#<IO:<STDOUT>>, :max_fast_inline=>10, :max_threads=>5, :min_threads=>0, :mode=>:http, :mutate_stdout_and_stderr_to_sync_on_write=>true, :out_of_band=>[], :persistent_timeout=>20, :queue_requests=>true, :rackup=>"config.ru", :raise_exception_on_sigterm=>true, :reaping_time=>1, :remote_address=>:socket, :silence_single_worker_warning=>false, :silence_fork_callback_warning=>false, :tag=>"yogamela", :tcp_host=>"0.0.0.0", :tcp_port=>9292, :wait_for_less_busy_worker=>0.005, :worker_boot_timeout=>60, :worker_check_interval=>5, :worker_culling_strategy=>:youngest, :worker_shutdown_timeout=>30, :worker_timeout=>60, :workers=>0, :http_content_length_limit=>nil, :events=>#<Puma::Events:0x00005583fe10ebe0 @hooks={:state=>[], :on_booted=>[]}>, :preload_app=>false}>, @plugins=#<Puma::PluginLoader:0x00005583fe10e410 @instances=[]>, @user_dsl=#<Puma::DSL:0x00005583fe10e398 @config=#<Puma::Configuration:0x00005583fe10e730 ...>, @options={:environment=>"production", :log_writer=>#<Puma::LogWriter:0x00005583fe10fa90 @formatter=#<Puma::LogWriter::DefaultFormatter:0x00005583fe10fa40>, @custom_logger=nil, @stdout=#<IO:<STDOUT>>, @stderr=#<IO:<STDERR>>, @debug=false, @error_logger=#<Puma::ErrorLogger:0x00005583fe10f9c8 @ioerr=#<IO:<STDERR>>, @debug=false>>}, @plugins=[]>, @file_dsl=#<Puma::DSL:0x00005583fe10e2d0 @config=#<Puma::Configuration:0x00005583fe10e730 ...>, @options={:config_files=>["/home/deploy/yogamela/config/puma.rb"], :binds=>["unix:///home/deploy/yogamela/tmp/puma.sock"], :pidfile=>"/home/deploy/yogamela/tmp/puma.pid", :state=>"/home/deploy/yogamela/tmp/puma.state", :rackup=>"/home/deploy/yogamela/config.ru", :workers=>0, :min_threads=>1, :max_threads=>6, :control_url=>"unix:///tmp/puma-status-1701499817402-781344", :control_url_temp=>"/tmp/puma-status-1701499817402-781344", :control_auth_token=>"e8bd2e5bd11dbea4ab83e30e62bf41f9"}, @plugins=[], @path="/home/deploy/yogamela/config/puma.rb">, @default_dsl=#<Puma::DSL:0x00005583fe10e168 @config=#<Puma::Configuration:0x00005583fe10e730 ...>, @options={:auto_trim_time=>30, :binds=>["tcp://0.0.0.0:9292"], :clean_thread_locals=>false, :debug=>false, :early_hints=>nil, :environment=>"production", :first_data_timeout=>30, :io_selector_backend=>:auto, :log_requests=>false, :logger=>#<IO:<STDOUT>>, :max_fast_inline=>10, :max_threads=>5, :min_threads=>0, :mode=>:http, :mutate_stdout_and_stderr_to_sync_on_write=>true, :out_of_band=>[], :persistent_timeout=>20, :queue_requests=>true, :rackup=>"config.ru", :raise_exception_on_sigterm=>true, :reaping_time=>1, :remote_address=>:socket, :silence_single_worker_warning=>false, :silence_fork_callback_warning=>false, :tag=>"yogamela", :tcp_host=>"0.0.0.0", :tcp_port=>9292, :wait_for_less_busy_worker=>0.005, :worker_boot_timeout=>60, :worker_check_interval=>5, :worker_culling_strategy=>:youngest, :worker_shutdown_timeout=>30, :worker_timeout=>60, :workers=>0, :http_content_length_limit=>nil, :events=>#<Puma::Events:0x00005583fe10ebe0 @hooks={:state=>[], :on_booted=>[]}>, :preload_app=>false}, @plugins=[]>> |
puma.request_body_wait | 0.008228302001953125 |
puma.socket | #<UNIXSocket:fd 24> |
rack.after_reply | [] |
rack.errors | #<Object:0x00005583fe757858> |
rack.hijack | #<Puma::Client:0x9444af4 @ready=true> |
rack.hijack? | true |
rack.input | #<Puma::NullIO:0x00005583fe0dd0b8> |
rack.logger | #<Rack::NullLogger:0x0000558401253408 @app=#<Rack::Protection::EncryptedCookie:0x0000558401253598 @secrets=["S\xDD\xCB\xC0\xB9\xF29o0g\xFF!\xB4\x90\xDD\xC5n\xC0\xFB\xBF\x18\xA2(\nk\xCD\xD4\xC4tW\x00\x84.\xD3\xFBC\xEA\xF7\xA2I\xDC\x1D\xC3\x1D\xAFyS\xF94\x03\rBZ\x9F\xE7 \xCA2u\x12%\xEBiP"], @legacy_hmac=false, @coder=#<Rack::Protection::EncryptedCookie::Marshal:0x00005584012534a8>, @app=#<Rack::Protection::FrameOptions:0x0000558401253638 @app=#<Rack::Protection::HttpOrigin:0x00005584012536d8 @app=#<Rack::Protection::IPSpoofing:0x0000558401253750 @app=#<Rack::Protection::JsonCsrf:0x00005584012537f0 @app=#<Rack::Protection::PathTraversal:0x0000558401253868 @app=#<Rack::Protection::RemoteToken:0x0000558401253908 @app=#<Rack::Protection::SessionHijacking:0x00005584012539a8 @app=#<Rack::Protection::XSSHeader:0x0000558401253a48 @app=#<Rack::Flash:0x000055840121be68 @app=#<RoutesController:0x000055840120e718 @current_engine=:ruby, @default_layout=:layout, @preferred_extension=nil, @app=App, @template_cache=#<Tilt::Cache:0x000055840120e650 @cache={[:erb, :home, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe918d5ba20 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/home.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_7560(locals) /home/deploy/yogamela/app/views/home.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe918d5b908 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <ul>\r\n <li class='is-active'><a href='/' title=\"<%= settings.href_titles[:home] %>\">Home</a></li>\r\n </ul>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga Classes Near Me\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\r\n\t <%= Item.listed.size %> yoga classes, in <%= @pps.size %> cities and <%= @countries.size %> countries \r\n\r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n<% end %>\r\n\r\n<% content_for :sidebar do %>\r\n <!--<button class=\"button is-success\">Add your classes</button>\r\n <p class=\"is-size-7\">it's free-->\r\n<% end %>\r\n\r\n\r\n<div class=\"content mt-6\">\r\n\r\n <h2 class=\"title is-size-3 mt-4 mb-5\">Just Added</h2>\r\n <%= paginate(@items) %><%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n\r\n <h2 class=\"title is-size-3 mt-6 mb-5\">Yoga Classes in <%= @home_country.name %> </h2>\r\n\r\n <div class=\"field is-grouped is-grouped-multiline\"> \r\n <% @home_country.children.each do |adm1| %>\r\n\r\n <%= link_to_ad(adm1) -%>\r\n\r\n\r\n\r\n <% end %>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n <h2 class=\"title is-size-3 mt-6 mb-6\">All Yoga listings by continent</h2>\r\n\t<% CONTINETS_COUNTRIES.each do |continent, country_codes| %>\r\n\t <h3 class=\"title is-size-4 mt-4 mb-4\"><%= continent %></h3>\r\n\t \r\n\t\t<div class=\"field is-grouped is-grouped-multiline\">\r\n\t\t <% country_codes.each do |country_code| %>\r\n \t<% country = @countries.where(country_code: country_code).first %>\r\n \t<% if country&.items_of_country&.listed&.size&.>(0) %>\r\n <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n <a href=\"/<%= country.slug -%>\" title='Yoga studios and classes in <%= country.name %>'><%= country.short %></a>\r\n </span> \r\n <span class=\"tag is-primary\">\r\n <%= country.items_of_country.listed.size -%> \r\n </span>\r\n </div>\r\n </div>\r\n <% end %>\r\n \t <%- end -%>\r\n\t\t</div> \r\n\t<% end %>\t\r\n \r\n</div>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe918d5b728 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n <li class=\\'is-active\\'><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga Classes Near Me\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\r\n\t '.freeze; @_out_buf << ( Item.listed.size ).to_s; @_out_buf << ' yoga classes, in '.freeze; @_out_buf << ( @pps.size ).to_s; @_out_buf << ' cities and '.freeze; @_out_buf << ( @countries.size ).to_s; @_out_buf << ' countries \r\n\r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :sidebar do \r\n @_out_buf << ' <!--<button class=\"button is-success\">Add your classes</button>\r\n <p class=\"is-size-7\">it\\'s free-->\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n<div class=\"content mt-6\">\r\n\r\n <h2 class=\"title is-size-3 mt-4 mb-5\">Just Added</h2>\r\n '.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\r\n <h2 class=\"title is-size-3 mt-6 mb-5\">Yoga Classes in '.freeze; @_out_buf << ( @home_country.name ).to_s; @_out_buf << ' </h2>\r\n\r\n <div class=\"field is-grouped is-grouped-multiline\"> \r\n'.freeze; @home_country.children.each do |adm1| \r\n @_out_buf << '\r\n '.freeze; @_out_buf << ( link_to_ad(adm1) ).to_s; @_out_buf << '\r\n\r\n\r\n'.freeze; end \r\n @_out_buf << ' </div>\r\n\r\n\r\n\r\n\r\n\r\n <h2 class=\"title is-size-3 mt-6 mb-6\">All Yoga listings by continent</h2>\r\n'.freeze;\t CONTINETS_COUNTRIES.each do |continent, country_codes| \r\n @_out_buf << '\t <h3 class=\"title is-size-4 mt-4 mb-4\">'.freeze; @_out_buf << ( continent ).to_s; @_out_buf << '</h3>\r\n\t \r\n\t\t<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze;\t\t country_codes.each do |country_code| \r\n \t country = @countries.where(country_code: country_code).first \r\n \t if country&.items_of_country&.listed&.size&.>(0) \r\n @_out_buf << ' <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n <a href=\"/'.freeze; @_out_buf << ( country.slug ).to_s; @_out_buf << '\" title=\\'Yoga studios and classes in '.freeze; @_out_buf << ( country.name ).to_s; @_out_buf << '\\'>'.freeze; @_out_buf << ( country.short ).to_s; @_out_buf << '</a>\r\n </span> \r\n <span class=\"tag is-primary\">\r\n '.freeze; @_out_buf << ( country.items_of_country.listed.size ).to_s; @_out_buf << ' </span>\r\n </div>\r\n </div>\r\n'.freeze; end \r\n \t end \r\n @_out_buf << '\t\t</div> \r\n'.freeze;\t end \t\r\n @_out_buf << ' \r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n <li class=\\'is-active\\'><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga Classes Near Me\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\r\n\t '.freeze; @_out_buf << ( Item.listed.size ).to_s; @_out_buf << ' yoga classes, in '.freeze; @_out_buf << ( @pps.size ).to_s; @_out_buf << ' cities and '.freeze; @_out_buf << ( @countries.size ).to_s; @_out_buf << ' countries \r\n\r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :sidebar do \r\n @_out_buf << ' <!--<button class=\"button is-success\">Add your classes</button>\r\n <p class=\"is-size-7\">it\\'s free-->\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n<div class=\"content mt-6\">\r\n\r\n <h2 class=\"title is-size-3 mt-4 mb-5\">Just Added</h2>\r\n '.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\r\n <h2 class=\"title is-size-3 mt-6 mb-5\">Yoga Classes in '.freeze; @_out_buf << ( @home_country.name ).to_s; @_out_buf << ' </h2>\r\n\r\n <div class=\"field is-grouped is-grouped-multiline\"> \r\n'.freeze; @home_country.children.each do |adm1| \r\n @_out_buf << '\r\n '.freeze; @_out_buf << ( link_to_ad(adm1) ).to_s; @_out_buf << '\r\n\r\n\r\n'.freeze; end \r\n @_out_buf << ' </div>\r\n\r\n\r\n\r\n\r\n\r\n <h2 class=\"title is-size-3 mt-6 mb-6\">All Yoga listings by continent</h2>\r\n'.freeze;\t CONTINETS_COUNTRIES.each do |continent, country_codes| \r\n @_out_buf << '\t <h3 class=\"title is-size-4 mt-4 mb-4\">'.freeze; @_out_buf << ( continent ).to_s; @_out_buf << '</h3>\r\n\t \r\n\t\t<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze;\t\t country_codes.each do |country_code| \r\n \t country = @countries.where(country_code: country_code).first \r\n \t if country&.items_of_country&.listed&.size&.>(0) \r\n @_out_buf << ' <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n <a href=\"/'.freeze; @_out_buf << ( country.slug ).to_s; @_out_buf << '\" title=\\'Yoga studios and classes in '.freeze; @_out_buf << ( country.name ).to_s; @_out_buf << '\\'>'.freeze; @_out_buf << ( country.short ).to_s; @_out_buf << '</a>\r\n </span> \r\n <span class=\"tag is-primary\">\r\n '.freeze; @_out_buf << ( country.items_of_country.listed.size ).to_s; @_out_buf << ' </span>\r\n </div>\r\n </div>\r\n'.freeze; end \r\n \t end \r\n @_out_buf << '\t\t</div> \r\n'.freeze;\t end \t\r\n @_out_buf << ' \r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :adm1_tag, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe918d5bae8 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/adm1_tag.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_7380(locals) /home/deploy/yogamela/app/views/adm1_tag.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe918d5b818 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <%= ad_tag_breadcrumb(params) %>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t <%= @tag.name %> in <%= @adm1.name %>\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--<%= @tag.name %> in --><%= @adm1.name %>, <%= @country.name %> \r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n<% end %>\r\n\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering <%= @tag.name %>\r\n\r\n\t<%= paginate(@items) %><%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in <%= @adm1.name %></h2>\r\n <p>You can <a href=\"/<%= @adm1.slug %>\">browser <%= @adm1.name %> Yoga</a> by:</p>\r\n \r\n <%= erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent %> \t\r\n\r\n</div>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe918d64288 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_tag_breadcrumb(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in -->'.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @adm1.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_tag_breadcrumb(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in -->'.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @adm1.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :"/partials/_items", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe918d80460 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/partials/_items.erb", @compiled_method={[RoutesController, [:items]]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_7560(locals) /home/deploy/yogamela/app/views/partials/_items.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe918d80348 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<%#= paginate @items if @items.respond_to? :current_page %>\r\n\r\n<!--<%= settings.items_folder %>-->\r\n\r\n<%- for item in items -%>\r\n <li style=\"list-style-type: none;\"> \r\n <p class=\"title is-size-6 mt-3 mb-1\"><a href=\"<%= path_to_item(item) %>\" \r\n title=\"<%= item.name -%> in <%= !item.pp.nil? ? item.pp.name : \"nsp\" -%> zip <%= item.zip %>, <%= !item.country.nil? ? item.country.name : \"nsp\" -%> <%= !item.adm1.nil? ? item.adm1.name : \"nsp\" -%> \"\r\n ><%= item.name -%></a></p>\r\n <span class=\"is-size-7 mt-1 mb-1\">\r\n <%= !item.country.nil? ? item.country.name : \"nsp\" -%> \\ <%= !item.adm1.nil? ? item.adm1.name : \"nsp\" -%> \\ <%= !item.pp.nil? ? item.pp.name : \"nsp\" -%> \r\n </span>\r\n \r\n <div class=\"tags are-small mt-4\">\r\n \r\n <% if item.tags[1..10] %>\r\n <% item.tags[1..10].each do |tag| -%>\r\n <span class=\"tag\">\r\n <%= tag.name %>\r\n <%#= tag.listed ? \"<a href='/\#{tag.content.permalink? ? tag.content.permalink : tag.slug}'>\#{tag.name}</a>\" : tag.name %>\r\n </span>\r\n <%- end -%>\r\n <span class=\"tag\"><a href=\"<%= path_to_item(item) %>\">... more</a></span>\r\n <% end %> \r\n </div>\r\n\r\n <%#= item.address_for_listing.html_safe unless item.address_for_listing.nil? -%>\r\n\r\n <%# i = 0 -%>\r\n <%# for tag in item.tags -%>\r\n <%#= i < 5 ? tag.name : '' -%><%#= i < 4 ? ',' : '' -%>\r\n <%#- i += 1 -%>\r\n <%#- end -%>\r\n\r\n <!--<b>Style:</b>-->\r\n <%#- for tag in item.tags -%>\r\n <%# if !tag.nil? && !tag.parent_id.nil? %>\r\n <%# parent = Tag.find(tag.parent_id) %>\r\n\r\n <%# if parent.name == \"Yoga Styles\" || parent.name == \"Modern Styles\" %>\r\n <%# if tag.listed? %>\r\n <a href=\"<%#= tag.slug %>\"><%#= tag.name %></a>\r\n <%#= link_to tag.name, permalink_path(tag.content.permalink? ? tag.content.permalink : tag.slug) -%>\r\n <%# else %>\r\n <%#= tag.name -%>\r\n <%# end %>\r\n <%# end %>\r\n \r\n <%# end %>\r\n <%#- end -%>\r\n \r\n\r\n\r\n<%- end -%>\r\n\r\n", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe9349e6a40 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new;\n @_out_buf << '\r\n<!--'.freeze; @_out_buf << ( settings.items_folder ).to_s; @_out_buf << '-->\r\n\r\n'.freeze; for item in items \r\n @_out_buf << ' <li style=\"list-style-type: none;\"> \r\n <p class=\"title is-size-6 mt-3 mb-1\"><a href=\"'.freeze; @_out_buf << ( path_to_item(item) ).to_s; @_out_buf << '\" \r\n title=\"'.freeze; @_out_buf << ( item.name ).to_s; @_out_buf << ' in '.freeze; @_out_buf << ( !item.pp.nil? ? item.pp.name : \"nsp\" ).to_s; @_out_buf << ' zip '.freeze; @_out_buf << ( item.zip ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( !item.country.nil? ? item.country.name : \"nsp\" ).to_s; @_out_buf << ' '.freeze; @_out_buf << ( !item.adm1.nil? ? item.adm1.name : \"nsp\" ).to_s; @_out_buf << ' \"\r\n >'.freeze; @_out_buf << ( item.name ).to_s; @_out_buf << '</a></p>\r\n <span class=\"is-size-7 mt-1 mb-1\">\r\n '.freeze; @_out_buf << ( !item.country.nil? ? item.country.name : \"nsp\" ).to_s; @_out_buf << ' \\\\ '.freeze; @_out_buf << ( !item.adm1.nil? ? item.adm1.name : \"nsp\" ).to_s; @_out_buf << ' \\\\ '.freeze; @_out_buf << ( !item.pp.nil? ? item.pp.name : \"nsp\" ).to_s; @_out_buf << ' </span>\r\n \r\n <div class=\"tags are-small mt-4\">\r\n \r\n'.freeze; if item.tags[1..10] \r\n item.tags[1..10].each do |tag| \r\n @_out_buf << ' <span class=\"tag\">\r\n '.freeze; @_out_buf << ( tag.name ).to_s; @_out_buf << '\r\n'.freeze;\n @_out_buf << ' </span>\r\n'.freeze; end \r\n @_out_buf << ' <span class=\"tag\"><a href=\"'.freeze; @_out_buf << ( path_to_item(item) ).to_s; @_out_buf << '\">... more</a></span>\r\n'.freeze; end \r\n @_out_buf << ' </div>\r\n\r\n'.freeze;\n @_out_buf << '\r\n'.freeze;\n\n @_out_buf << ' '.freeze;;\n @_out_buf << '\r\n'.freeze;\n\n @_out_buf << '\r\n <!--<b>Style:</b>-->\r\n'.freeze;\n\n\n @_out_buf << '\r\n'.freeze;\n\n @_out_buf << ' <a href=\"'.freeze;; @_out_buf << '\">'.freeze;; @_out_buf << '</a>\r\n'.freeze;\n\n\n\n\n @_out_buf << ' \r\n'.freeze;\n\n @_out_buf << ' \r\n\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new;\n @_out_buf << '\r\n<!--'.freeze; @_out_buf << ( settings.items_folder ).to_s; @_out_buf << '-->\r\n\r\n'.freeze; for item in items \r\n @_out_buf << ' <li style=\"list-style-type: none;\"> \r\n <p class=\"title is-size-6 mt-3 mb-1\"><a href=\"'.freeze; @_out_buf << ( path_to_item(item) ).to_s; @_out_buf << '\" \r\n title=\"'.freeze; @_out_buf << ( item.name ).to_s; @_out_buf << ' in '.freeze; @_out_buf << ( !item.pp.nil? ? item.pp.name : \"nsp\" ).to_s; @_out_buf << ' zip '.freeze; @_out_buf << ( item.zip ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( !item.country.nil? ? item.country.name : \"nsp\" ).to_s; @_out_buf << ' '.freeze; @_out_buf << ( !item.adm1.nil? ? item.adm1.name : \"nsp\" ).to_s; @_out_buf << ' \"\r\n >'.freeze; @_out_buf << ( item.name ).to_s; @_out_buf << '</a></p>\r\n <span class=\"is-size-7 mt-1 mb-1\">\r\n '.freeze; @_out_buf << ( !item.country.nil? ? item.country.name : \"nsp\" ).to_s; @_out_buf << ' \\\\ '.freeze; @_out_buf << ( !item.adm1.nil? ? item.adm1.name : \"nsp\" ).to_s; @_out_buf << ' \\\\ '.freeze; @_out_buf << ( !item.pp.nil? ? item.pp.name : \"nsp\" ).to_s; @_out_buf << ' </span>\r\n \r\n <div class=\"tags are-small mt-4\">\r\n \r\n'.freeze; if item.tags[1..10] \r\n item.tags[1..10].each do |tag| \r\n @_out_buf << ' <span class=\"tag\">\r\n '.freeze; @_out_buf << ( tag.name ).to_s; @_out_buf << '\r\n'.freeze;\n @_out_buf << ' </span>\r\n'.freeze; end \r\n @_out_buf << ' <span class=\"tag\"><a href=\"'.freeze; @_out_buf << ( path_to_item(item) ).to_s; @_out_buf << '\">... more</a></span>\r\n'.freeze; end \r\n @_out_buf << ' </div>\r\n\r\n'.freeze;\n @_out_buf << '\r\n'.freeze;\n\n @_out_buf << ' '.freeze;;\n @_out_buf << '\r\n'.freeze;\n\n @_out_buf << '\r\n <!--<b>Style:</b>-->\r\n'.freeze;\n\n\n @_out_buf << '\r\n'.freeze;\n\n @_out_buf << ' <a href=\"'.freeze;; @_out_buf << '\">'.freeze;; @_out_buf << '</a>\r\n'.freeze;\n\n\n\n\n @_out_buf << ' \r\n'.freeze;\n\n @_out_buf << ' \r\n\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :"/partials/_tags_by_parent_dl", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe934a5cba0 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/partials/_tags_by_parent_dl.erb", @compiled_method={[RoutesController, [:tags_by_parent]]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_7380(locals) /home/deploy/yogamela/app/views/partials/_tags_by_parent_dl.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe934a5ca88 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% if @ad %>\r\n\r\n <dl>\r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Styles</dt>\r\n <dd>\r\n <%#= tags_by_parent[\"Yoga Styles\"].map{|tag| \"<a href='/\" + @ad.slug + \"/\" + (tag.content.permalink? ? tag.content.permalink : tag.permalink) + \"'>\" + tag.name + \"</a>\"}.join(\", \") if tags_by_parent[\"Yoga Styles\"] %>\r\n <%= tags_by_parent[\"Yoga Styles\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Yoga Styles\"] %>\r\n <%#= tags_by_parent[\"Modern Styles\"].map{|tag| \"<a href='/\" + @ad.slug + \"/\" + (tag.content.permalink? ? tag.content.permalink : tag.permalink) + \"'>\" + tag.name + \"</a>\"}.join(\", \") if tags_by_parent[\"Modern Styles\"] %>\r\n <%= tags_by_parent[\"Modern Styles\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Modern Styles\"] %>\r\n\r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Special Yoga</dt>\r\n <dd>\r\n <%#= tags_by_parent[\"Special\"].map{|tag| \"<a href='/\" + @ad.slug + \"/\" + (tag.content.permalink? ? tag.content.permalink : tag.permalink) + \"'>\" + tag.name + \"</a>\"}.join(\", \") if tags_by_parent[\"Special\"] %>\r\n <%= tags_by_parent[\"Special\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Special\"] %>\r\n \r\n\r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Age</dt>\r\n <dd>\r\n <%#= tags_by_parent[\"Age\"].map{|tag| \"<a href='/\" + @ad.slug + \"/\" + (tag.content.permalink? ? tag.content.permalink : tag.permalink) + \"'>\" + tag.name + \"</a>\"}.join(\", \") if tags_by_parent[\"Age\"] %>\r\n <%= tags_by_parent[\"Age\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Age\"] %>\r\n \r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Skill Level</dt>\r\n <dd>\r\n <%#= tags_by_parent[\"Level\"].map{|tag| \"<a href='/\" + @ad.slug + \"/\" + (tag.content.permalink? ? tag.content.permalink : tag.permalink) + \"'>\" + tag.name + \"</a>\"}.join(\", \") if tags_by_parent[\"Level\"] %>\r\n <%= tags_by_parent[\"Level\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Level\"] %>\r\n \r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Group Size</dt>\r\n <dd>\r\n <%#= tags_by_parent[\"Groups\"].map{|tag| \"<a href='/\" + @ad.slug + \"/\" + (tag.content.permalink? ? tag.content.permalink : tag.permalink) + \"'>\" + tag.name + \"</a>\"}.join(\", \") if tags_by_parent[\"Groups\"] %>\r\n <%= tags_by_parent[\"Groups\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Groups\"] %>\r\n\r\n </dd>\r\n \r\n </dl> \r\n\r\n<% else %>\r\n\r\n no @ad\r\n\r\n<% end %> \r\n\r\n\r\n\r\n", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe91914a5f0 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; if @ad \r\n @_out_buf << '\r\n <dl>\r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Styles</dt>\r\n <dd>\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Yoga Styles\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Yoga Styles\"] ).to_s; @_out_buf << '\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Modern Styles\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Modern Styles\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Special Yoga</dt>\r\n <dd>\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Special\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Special\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' \r\n\r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Age</dt>\r\n <dd>\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Age\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Age\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' \r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Skill Level</dt>\r\n <dd>\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Level\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Level\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' \r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Group Size</dt>\r\n <dd>\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Groups\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Groups\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n </dd>\r\n \r\n </dl> \r\n\r\n'.freeze; else \r\n @_out_buf << '\r\n no @ad\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; if @ad \r\n @_out_buf << '\r\n <dl>\r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Styles</dt>\r\n <dd>\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Yoga Styles\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Yoga Styles\"] ).to_s; @_out_buf << '\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Modern Styles\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Modern Styles\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Special Yoga</dt>\r\n <dd>\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Special\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Special\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' \r\n\r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Age</dt>\r\n <dd>\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Age\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Age\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' \r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Skill Level</dt>\r\n <dd>\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Level\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Level\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' \r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Group Size</dt>\r\n <dd>\r\n'.freeze;\n @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Groups\"].map{|tag| \"<a href='/\#{@ad.ancestors.map{|ancestor| ancestor.slug}.join('/') }/\#{@ad.slug}/\#{(tag.content.permalink? ? tag.content.permalink : tag.permalink)}' title='Yoga studios and classes in \#{@ad.name}'>\#{tag.name}</a>\" }.join(\", \") if tags_by_parent[\"Groups\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n </dd>\r\n \r\n </dl> \r\n\r\n'.freeze; else \r\n @_out_buf << '\r\n no @ad\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :"/layout/layout", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe934bd1850 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/layout/layout.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_7380(locals) /home/deploy/yogamela/app/views/layout/layout.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe934bd1738 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n <meta charset=\"utf-8\">\r\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n <title><%= @title %></title>\r\n\r\n <meta name=\"description\" content=\"<%= @meta_description -%>\">\r\n \r\n <meta name=\"google-adsense-account\" content=\"ca-pub-8432417201139641\">\r\n\r\n <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css\">\r\n <link href=\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700\" rel=\"stylesheet\">\r\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.4/css/bulma.min.css\">\r\n\r\n <script src=\"https://kit.fontawesome.com/eaa64c5f2f.js\" crossorigin=\"anonymous\"></script>\r\n\r\n <link rel=\"stylesheet\" href=\"/stylesheets/cookieconsent.css\" media=\"print\" onload=\"this.media='all'\">\r\n\r\n <script\r\n src=\"https://code.jquery.com/jquery-3.6.0.min.js\"\r\n integrity=\"sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=\"\r\n crossorigin=\"anonymous\"></script>\r\n \r\n <script src=\"https://code.jquery.com/ui/1.12.1/jquery-ui.js\"></script>\r\n\r\n <%= yield_content :feed %>\r\n\r\n <% if settings.respond_to?(:matomo_site_id) -%>\r\n <!-- Matomo -->\r\n <script>\r\n var _paq = window._paq = window._paq || [];\r\n /* tracker methods like \"setCustomDimension\" should be called before \"trackPageView\" */\r\n _paq.push(['trackPageView']);\r\n _paq.push(['enableLinkTracking']);\r\n (function() {\r\n var u=\"//matomo.pointnemo.com/\";\r\n _paq.push(['setTrackerUrl', u+'matomo.php']);\r\n _paq.push(['setSiteId', '<%= settings.matomo_site_id -%>']);\r\n var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];\r\n g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);\r\n })();\r\n </script>\r\n <!-- End Matomo Code -->\r\n <% end %>\r\n\r\n <script async src=\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8432417201139641\"\r\n crossorigin=\"anonymous\"></script>\r\n \r\n</head>\r\n\r\n<body>\r\n\r\n <%= erb :'/layout/_navigation' %>\r\n <%= erb :'/layout/_flash' %>\r\n\r\n <section class=\"section\" style=\"padding-top: 5px; padding-bottom: 5px ;\">\r\n <div class=\"container\">\r\n <div class=\"columns\">\r\n <div class=\"column is-12 mt-0 mb-3 pt-2 pb-4\">\r\n <nav class=\"breadcrumb is-small\" aria-label=\"breadcrumbs\">\r\n <%= yield_content :breadcrumb %>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <%= yield_content :hero %>\r\n\r\n <section class=\"section\"> \r\n\r\n <div class=\"container\">\r\n <div class=\"columns\">\r\n\r\n <div class=\"column is-9\">\r\n <%= yield %>\r\n </div>\r\n\r\n <div class=\"column is-3 \">\r\n <aside>\r\n <%= yield_content :sidebar %>\r\n </aside>\r\n </div>\r\n\r\n </div>\r\n </div> \r\n </section>\r\n\r\n\r\n <%= erb :'/layout/_footer' %>\r\n\r\n <script async type=\"text/javascript\" src=\"/javascripts/bulma.js\"></script>\r\n <script defer src=\"/javascripts/cookieconsent.js\"></script>\r\n <script defer src=\"/javascripts/cookieconsent-init.js\"></script>\r\n\r\n</body>\r\n", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe934bd1670 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; @_out_buf << '<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n <meta charset=\"utf-8\">\r\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n <title>'.freeze; @_out_buf << ( @title ).to_s; @_out_buf << '</title>\r\n\r\n <meta name=\"description\" content=\"'.freeze; @_out_buf << ( @meta_description ).to_s; @_out_buf << '\">\r\n \r\n <meta name=\"google-adsense-account\" content=\"ca-pub-8432417201139641\">\r\n\r\n <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css\">\r\n <link href=\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700\" rel=\"stylesheet\">\r\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.4/css/bulma.min.css\">\r\n\r\n <script src=\"https://kit.fontawesome.com/eaa64c5f2f.js\" crossorigin=\"anonymous\"></script>\r\n\r\n <link rel=\"stylesheet\" href=\"/stylesheets/cookieconsent.css\" media=\"print\" onload=\"this.media=\\'all\\'\">\r\n\r\n <script\r\n src=\"https://code.jquery.com/jquery-3.6.0.min.js\"\r\n integrity=\"sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=\"\r\n crossorigin=\"anonymous\"></script>\r\n \r\n <script src=\"https://code.jquery.com/ui/1.12.1/jquery-ui.js\"></script>\r\n\r\n '.freeze; @_out_buf << ( yield_content :feed ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n'.freeze; if settings.respond_to?(:matomo_site_id) \r\n @_out_buf << ' <!-- Matomo -->\r\n <script>\r\n var _paq = window._paq = window._paq || [];\r\n /* tracker methods like \"setCustomDimension\" should be called before \"trackPageView\" */\r\n _paq.push([\\'trackPageView\\']);\r\n _paq.push([\\'enableLinkTracking\\']);\r\n (function() {\r\n var u=\"//matomo.pointnemo.com/\";\r\n _paq.push([\\'setTrackerUrl\\', u+\\'matomo.php\\']);\r\n _paq.push([\\'setSiteId\\', \\''.freeze; @_out_buf << ( settings.matomo_site_id ).to_s; @_out_buf << '\\']);\r\n var d=document, g=d.createElement(\\'script\\'), s=d.getElementsByTagName(\\'script\\')[0];\r\n g.async=true; g.src=u+\\'matomo.js\\'; s.parentNode.insertBefore(g,s);\r\n })();\r\n </script>\r\n <!-- End Matomo Code -->\r\n'.freeze; end \r\n @_out_buf << '\r\n <script async src=\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8432417201139641\"\r\n crossorigin=\"anonymous\"></script>\r\n \r\n</head>\r\n\r\n<body>\r\n\r\n '.freeze; @_out_buf << ( erb :'/layout/_navigation' ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' '.freeze; @_out_buf << ( erb :'/layout/_flash' ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n <section class=\"section\" style=\"padding-top: 5px; padding-bottom: 5px ;\">\r\n <div class=\"container\">\r\n <div class=\"columns\">\r\n <div class=\"column is-12 mt-0 mb-3 pt-2 pb-4\">\r\n <nav class=\"breadcrumb is-small\" aria-label=\"breadcrumbs\">\r\n '.freeze; @_out_buf << ( yield_content :breadcrumb ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' </nav>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n '.freeze; @_out_buf << ( yield_content :hero ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n <section class=\"section\"> \r\n\r\n <div class=\"container\">\r\n <div class=\"columns\">\r\n\r\n <div class=\"column is-9\">\r\n '.freeze; @_out_buf << ( yield ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' </div>\r\n\r\n <div class=\"column is-3 \">\r\n <aside>\r\n '.freeze; @_out_buf << ( yield_content :sidebar ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' </aside>\r\n </div>\r\n\r\n </div>\r\n </div> \r\n </section>\r\n\r\n\r\n '.freeze; @_out_buf << ( erb :'/layout/_footer' ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n <script async type=\"text/javascript\" src=\"/javascripts/bulma.js\"></script>\r\n <script defer src=\"/javascripts/cookieconsent.js\"></script>\r\n <script defer src=\"/javascripts/cookieconsent-init.js\"></script>\r\n\r\n</body>\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; @_out_buf << '<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n <meta charset=\"utf-8\">\r\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n <title>'.freeze; @_out_buf << ( @title ).to_s; @_out_buf << '</title>\r\n\r\n <meta name=\"description\" content=\"'.freeze; @_out_buf << ( @meta_description ).to_s; @_out_buf << '\">\r\n \r\n <meta name=\"google-adsense-account\" content=\"ca-pub-8432417201139641\">\r\n\r\n <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css\">\r\n <link href=\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700\" rel=\"stylesheet\">\r\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.4/css/bulma.min.css\">\r\n\r\n <script src=\"https://kit.fontawesome.com/eaa64c5f2f.js\" crossorigin=\"anonymous\"></script>\r\n\r\n <link rel=\"stylesheet\" href=\"/stylesheets/cookieconsent.css\" media=\"print\" onload=\"this.media=\\'all\\'\">\r\n\r\n <script\r\n src=\"https://code.jquery.com/jquery-3.6.0.min.js\"\r\n integrity=\"sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=\"\r\n crossorigin=\"anonymous\"></script>\r\n \r\n <script src=\"https://code.jquery.com/ui/1.12.1/jquery-ui.js\"></script>\r\n\r\n '.freeze; @_out_buf << ( yield_content :feed ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n'.freeze; if settings.respond_to?(:matomo_site_id) \r\n @_out_buf << ' <!-- Matomo -->\r\n <script>\r\n var _paq = window._paq = window._paq || [];\r\n /* tracker methods like \"setCustomDimension\" should be called before \"trackPageView\" */\r\n _paq.push([\\'trackPageView\\']);\r\n _paq.push([\\'enableLinkTracking\\']);\r\n (function() {\r\n var u=\"//matomo.pointnemo.com/\";\r\n _paq.push([\\'setTrackerUrl\\', u+\\'matomo.php\\']);\r\n _paq.push([\\'setSiteId\\', \\''.freeze; @_out_buf << ( settings.matomo_site_id ).to_s; @_out_buf << '\\']);\r\n var d=document, g=d.createElement(\\'script\\'), s=d.getElementsByTagName(\\'script\\')[0];\r\n g.async=true; g.src=u+\\'matomo.js\\'; s.parentNode.insertBefore(g,s);\r\n })();\r\n </script>\r\n <!-- End Matomo Code -->\r\n'.freeze; end \r\n @_out_buf << '\r\n <script async src=\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8432417201139641\"\r\n crossorigin=\"anonymous\"></script>\r\n \r\n</head>\r\n\r\n<body>\r\n\r\n '.freeze; @_out_buf << ( erb :'/layout/_navigation' ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' '.freeze; @_out_buf << ( erb :'/layout/_flash' ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n <section class=\"section\" style=\"padding-top: 5px; padding-bottom: 5px ;\">\r\n <div class=\"container\">\r\n <div class=\"columns\">\r\n <div class=\"column is-12 mt-0 mb-3 pt-2 pb-4\">\r\n <nav class=\"breadcrumb is-small\" aria-label=\"breadcrumbs\">\r\n '.freeze; @_out_buf << ( yield_content :breadcrumb ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' </nav>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n '.freeze; @_out_buf << ( yield_content :hero ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n <section class=\"section\"> \r\n\r\n <div class=\"container\">\r\n <div class=\"columns\">\r\n\r\n <div class=\"column is-9\">\r\n '.freeze; @_out_buf << ( yield ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' </div>\r\n\r\n <div class=\"column is-3 \">\r\n <aside>\r\n '.freeze; @_out_buf << ( yield_content :sidebar ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' </aside>\r\n </div>\r\n\r\n </div>\r\n </div> \r\n </section>\r\n\r\n\r\n '.freeze; @_out_buf << ( erb :'/layout/_footer' ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n <script async type=\"text/javascript\" src=\"/javascripts/bulma.js\"></script>\r\n <script defer src=\"/javascripts/cookieconsent.js\"></script>\r\n <script defer src=\"/javascripts/cookieconsent-init.js\"></script>\r\n\r\n</body>\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :"/layout/_navigation", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe934bd54f0 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/layout/_navigation.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_7380(locals) /home/deploy/yogamela/app/views/layout/_navigation.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe934bd53d8 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="\r\n<nav class=\"navbar is-white\">\r\n \r\n <div class=\"container\">\r\n <div class=\"navbar-brand\">\r\n <a class=\"navbar-item brand-text\" href=\"/\">\r\n Yogamela.com\r\n </a>\r\n <div class=\"navbar-burger burger\" data-target=\"navMenu\">\r\n <span></span>\r\n </div>\r\n </div>\r\n\r\n <div id=\"navMenu\" class=\"navbar-menu\">\r\n <div class=\"navbar-start\">\r\n\r\n <%# if authorized? %>\r\n <a class=\"navbar-item has-text-danger\" href=\"/\">\r\n my piles\r\n </a>\r\n <a class=\"navbar-item has-text-danger\" href=\"/stockpiles\">\r\n stockpiles\r\n </a>\r\n <a class=\"navbar-item has-text-danger\" href=\"/piles\">\r\n piles\r\n </a>\r\n\r\n \r\n <%# end %> \r\n \r\n <!--\r\n \r\n <a class=\"navbar-item\" href=\"admin.html\">\r\n Exceptions\r\n </a>\r\n <a class=\"navbar-item\" href=\"admin.html\">\r\n Reports\r\n </a>\r\n -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</nav>\r\n\r\n\r\n<!-- START NAV -->\r\n <nav class=\"navbar is-fixed-top\" role=\"navigation\" aria-label=\"main navigation\">\r\n\r\n <div class=\"container\">\r\n <div class=\"navbar-brand\">\r\n <a class=\"navbar-item\" href=\"/\">\r\n <%#= link_to root_path, class: \"navbar-item\" do %>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><title>view-tile</title><g fill=\"#111111\"><path d=\"M0 0h9v9H0V0zm2 2v5h5V2H2zm-2 9h9v9H0v-9zm2 2v5h5v-5H2zm9-13h9v9h-9V0zm2 2v5h5V2h-5zm-2 9h9v9h-9v-9zm2 2v5h5v-5h-5z\"></path></g></svg>\r\n <span class=\"has-text-weight-bold is-size-4 ml-4\">Yogamela.com</span>\r\n <%# end %>\r\n </a>\r\n <a role=\"button\" class=\"navbar-burger burger\" aria-label=\"menu\" aria-expanded=\"false\" data-target=\"navbarBasicExample\">\r\n <span aria-hidden=\"true\"></span>\r\n <span aria-hidden=\"true\"></span>\r\n <span aria-hidden=\"true\"></span>\r\n </a>\r\n </div>\r\n\r\n <div id=\"navbarBasicExample\" class=\"navbar-menu\">\r\n <div class=\"navbar-start\">\r\n\r\n<!--\r\n <div class=\"navbar-item has-dropdown is-hoverable\">\r\n <a href=\"/yoga-styles\" title=\"Yoga Styles\" class=\"navbar-link\">Yoga Styles</a>\r\n <div class=\"navbar-dropdown\">\r\n <a class=\"navbar-item\" href=\"/ananda-yoga\">Ananda Yoga</a>\r\n <a class=\"navbar-item\" href=\"/bikram-yoga\">Bikram Yoga</a>\r\n <a class=\"navbar-item\" href=\"/hatha-yoga\">Hatha Yoga</a>\r\n <a class=\"navbar-item\" href=\"/ishta-yoga\">Ishta Yoga</a>\r\n <a class=\"navbar-item\" href=\"/jivamukti-yoga\">Jivamukti Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kali-ray-tri-yoga\">Kali Ray Tri Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kriya-yoga\">Kriya Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kundalini-yoga\">Kundalini Yoga</a>\r\n <a class=\"navbar-item\" href=\"/svaroopa-yoga\">Svaroopa Yoga</a>\r\n <a class=\"navbar-item\" href=\"/tantric-yoga\">Tantric Yoga</a>\r\n <a class=\"navbar-item\" href=\"/vinyasa-yoga\">Vinyasa Yoga</a>\r\n </div>\r\n </div>\r\n-->\r\n\r\n <%# if logged_in? && current_user.role == \"admin\" %>\r\n\r\n <div class=\"navbar-item has-dropdown is-hoverable\">\r\n <a href=\"/yoga-styles\" class=\"navbar-link\">Yoga Styles</a>\r\n <div class=\"navbar-dropdown\">\r\n <a class=\"navbar-item\" href=\"/ananda-yoga\">Ananda Yoga</a>\r\n <a class=\"navbar-item\" href=\"/bikram-yoga\">Bikram Yoga</a>\r\n <a class=\"navbar-item\" href=\"/hatha-yoga\">Hatha Yoga</a>\r\n <a class=\"navbar-item\" href=\"/ishta-yoga\">Ishta Yoga</a>\r\n <a class=\"navbar-item\" href=\"/jivamukti-yoga\">Jivamukti Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kali-ray-tri-yoga\">Kali Ray Tri Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kriya-yoga\">Kriya Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kundalini-yoga\">Kundalini Yoga</a>\r\n <a class=\"navbar-item\" href=\"/svaroopa-yoga\">Svaroopa Yoga</a>\r\n <a class=\"navbar-item\" href=\"/tantric-yoga\">Tantric Yoga</a>\r\n <a class=\"navbar-item\" href=\"/vinyasa-yoga\">Vinyasa Yoga</a>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <%# end %>\r\n\r\n\r\n\r\n<!-- \r\n <a class=\"navbar-item \" href=\"/\">\r\n my piles\r\n </a>\r\n <a class=\"navbar-item \" href=\"/stockpiles\">\r\n stockpiles\r\n </a>\r\n-->\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </nav>\r\n\r\n\r\n\r\n<!-- END NAV -->", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe91c34c2d8 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; @_out_buf << '\r\n<nav class=\"navbar is-white\">\r\n \r\n <div class=\"container\">\r\n <div class=\"navbar-brand\">\r\n <a class=\"navbar-item brand-text\" href=\"/\">\r\n Yogamela.com\r\n </a>\r\n <div class=\"navbar-burger burger\" data-target=\"navMenu\">\r\n <span></span>\r\n </div>\r\n </div>\r\n\r\n <div id=\"navMenu\" class=\"navbar-menu\">\r\n <div class=\"navbar-start\">\r\n\r\n'.freeze;\n @_out_buf << ' <a class=\"navbar-item has-text-danger\" href=\"/\">\r\n my piles\r\n </a>\r\n <a class=\"navbar-item has-text-danger\" href=\"/stockpiles\">\r\n stockpiles\r\n </a>\r\n <a class=\"navbar-item has-text-danger\" href=\"/piles\">\r\n piles\r\n </a>\r\n\r\n \r\n'.freeze;\n @_out_buf << ' \r\n <!--\r\n \r\n <a class=\"navbar-item\" href=\"admin.html\">\r\n Exceptions\r\n </a>\r\n <a class=\"navbar-item\" href=\"admin.html\">\r\n Reports\r\n </a>\r\n -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</nav>\r\n\r\n\r\n<!-- START NAV -->\r\n <nav class=\"navbar is-fixed-top\" role=\"navigation\" aria-label=\"main navigation\">\r\n\r\n <div class=\"container\">\r\n <div class=\"navbar-brand\">\r\n <a class=\"navbar-item\" href=\"/\">\r\n'.freeze;\n @_out_buf << ' <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><title>view-tile</title><g fill=\"#111111\"><path d=\"M0 0h9v9H0V0zm2 2v5h5V2H2zm-2 9h9v9H0v-9zm2 2v5h5v-5H2zm9-13h9v9h-9V0zm2 2v5h5V2h-5zm-2 9h9v9h-9v-9zm2 2v5h5v-5h-5z\"></path></g></svg>\r\n <span class=\"has-text-weight-bold is-size-4 ml-4\">Yogamela.com</span>\r\n'.freeze;\n @_out_buf << ' </a>\r\n <a role=\"button\" class=\"navbar-burger burger\" aria-label=\"menu\" aria-expanded=\"false\" data-target=\"navbarBasicExample\">\r\n <span aria-hidden=\"true\"></span>\r\n <span aria-hidden=\"true\"></span>\r\n <span aria-hidden=\"true\"></span>\r\n </a>\r\n </div>\r\n\r\n <div id=\"navbarBasicExample\" class=\"navbar-menu\">\r\n <div class=\"navbar-start\">\r\n\r\n<!--\r\n <div class=\"navbar-item has-dropdown is-hoverable\">\r\n <a href=\"/yoga-styles\" title=\"Yoga Styles\" class=\"navbar-link\">Yoga Styles</a>\r\n <div class=\"navbar-dropdown\">\r\n <a class=\"navbar-item\" href=\"/ananda-yoga\">Ananda Yoga</a>\r\n <a class=\"navbar-item\" href=\"/bikram-yoga\">Bikram Yoga</a>\r\n <a class=\"navbar-item\" href=\"/hatha-yoga\">Hatha Yoga</a>\r\n <a class=\"navbar-item\" href=\"/ishta-yoga\">Ishta Yoga</a>\r\n <a class=\"navbar-item\" href=\"/jivamukti-yoga\">Jivamukti Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kali-ray-tri-yoga\">Kali Ray Tri Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kriya-yoga\">Kriya Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kundalini-yoga\">Kundalini Yoga</a>\r\n <a class=\"navbar-item\" href=\"/svaroopa-yoga\">Svaroopa Yoga</a>\r\n <a class=\"navbar-item\" href=\"/tantric-yoga\">Tantric Yoga</a>\r\n <a class=\"navbar-item\" href=\"/vinyasa-yoga\">Vinyasa Yoga</a>\r\n </div>\r\n </div>\r\n-->\r\n\r\n'.freeze;\n @_out_buf << '\r\n <div class=\"navbar-item has-dropdown is-hoverable\">\r\n <a href=\"/yoga-styles\" class=\"navbar-link\">Yoga Styles</a>\r\n <div class=\"navbar-dropdown\">\r\n <a class=\"navbar-item\" href=\"/ananda-yoga\">Ananda Yoga</a>\r\n <a class=\"navbar-item\" href=\"/bikram-yoga\">Bikram Yoga</a>\r\n <a class=\"navbar-item\" href=\"/hatha-yoga\">Hatha Yoga</a>\r\n <a class=\"navbar-item\" href=\"/ishta-yoga\">Ishta Yoga</a>\r\n <a class=\"navbar-item\" href=\"/jivamukti-yoga\">Jivamukti Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kali-ray-tri-yoga\">Kali Ray Tri Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kriya-yoga\">Kriya Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kundalini-yoga\">Kundalini Yoga</a>\r\n <a class=\"navbar-item\" href=\"/svaroopa-yoga\">Svaroopa Yoga</a>\r\n <a class=\"navbar-item\" href=\"/tantric-yoga\">Tantric Yoga</a>\r\n <a class=\"navbar-item\" href=\"/vinyasa-yoga\">Vinyasa Yoga</a>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n'.freeze;\n @_out_buf << '\r\n\r\n\r\n<!-- \r\n <a class=\"navbar-item \" href=\"/\">\r\n my piles\r\n </a>\r\n <a class=\"navbar-item \" href=\"/stockpiles\">\r\n stockpiles\r\n </a>\r\n-->\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </nav>\r\n\r\n\r\n\r\n<!-- END NAV -->'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; @_out_buf << '\r\n<nav class=\"navbar is-white\">\r\n \r\n <div class=\"container\">\r\n <div class=\"navbar-brand\">\r\n <a class=\"navbar-item brand-text\" href=\"/\">\r\n Yogamela.com\r\n </a>\r\n <div class=\"navbar-burger burger\" data-target=\"navMenu\">\r\n <span></span>\r\n </div>\r\n </div>\r\n\r\n <div id=\"navMenu\" class=\"navbar-menu\">\r\n <div class=\"navbar-start\">\r\n\r\n'.freeze;\n @_out_buf << ' <a class=\"navbar-item has-text-danger\" href=\"/\">\r\n my piles\r\n </a>\r\n <a class=\"navbar-item has-text-danger\" href=\"/stockpiles\">\r\n stockpiles\r\n </a>\r\n <a class=\"navbar-item has-text-danger\" href=\"/piles\">\r\n piles\r\n </a>\r\n\r\n \r\n'.freeze;\n @_out_buf << ' \r\n <!--\r\n \r\n <a class=\"navbar-item\" href=\"admin.html\">\r\n Exceptions\r\n </a>\r\n <a class=\"navbar-item\" href=\"admin.html\">\r\n Reports\r\n </a>\r\n -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</nav>\r\n\r\n\r\n<!-- START NAV -->\r\n <nav class=\"navbar is-fixed-top\" role=\"navigation\" aria-label=\"main navigation\">\r\n\r\n <div class=\"container\">\r\n <div class=\"navbar-brand\">\r\n <a class=\"navbar-item\" href=\"/\">\r\n'.freeze;\n @_out_buf << ' <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><title>view-tile</title><g fill=\"#111111\"><path d=\"M0 0h9v9H0V0zm2 2v5h5V2H2zm-2 9h9v9H0v-9zm2 2v5h5v-5H2zm9-13h9v9h-9V0zm2 2v5h5V2h-5zm-2 9h9v9h-9v-9zm2 2v5h5v-5h-5z\"></path></g></svg>\r\n <span class=\"has-text-weight-bold is-size-4 ml-4\">Yogamela.com</span>\r\n'.freeze;\n @_out_buf << ' </a>\r\n <a role=\"button\" class=\"navbar-burger burger\" aria-label=\"menu\" aria-expanded=\"false\" data-target=\"navbarBasicExample\">\r\n <span aria-hidden=\"true\"></span>\r\n <span aria-hidden=\"true\"></span>\r\n <span aria-hidden=\"true\"></span>\r\n </a>\r\n </div>\r\n\r\n <div id=\"navbarBasicExample\" class=\"navbar-menu\">\r\n <div class=\"navbar-start\">\r\n\r\n<!--\r\n <div class=\"navbar-item has-dropdown is-hoverable\">\r\n <a href=\"/yoga-styles\" title=\"Yoga Styles\" class=\"navbar-link\">Yoga Styles</a>\r\n <div class=\"navbar-dropdown\">\r\n <a class=\"navbar-item\" href=\"/ananda-yoga\">Ananda Yoga</a>\r\n <a class=\"navbar-item\" href=\"/bikram-yoga\">Bikram Yoga</a>\r\n <a class=\"navbar-item\" href=\"/hatha-yoga\">Hatha Yoga</a>\r\n <a class=\"navbar-item\" href=\"/ishta-yoga\">Ishta Yoga</a>\r\n <a class=\"navbar-item\" href=\"/jivamukti-yoga\">Jivamukti Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kali-ray-tri-yoga\">Kali Ray Tri Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kriya-yoga\">Kriya Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kundalini-yoga\">Kundalini Yoga</a>\r\n <a class=\"navbar-item\" href=\"/svaroopa-yoga\">Svaroopa Yoga</a>\r\n <a class=\"navbar-item\" href=\"/tantric-yoga\">Tantric Yoga</a>\r\n <a class=\"navbar-item\" href=\"/vinyasa-yoga\">Vinyasa Yoga</a>\r\n </div>\r\n </div>\r\n-->\r\n\r\n'.freeze;\n @_out_buf << '\r\n <div class=\"navbar-item has-dropdown is-hoverable\">\r\n <a href=\"/yoga-styles\" class=\"navbar-link\">Yoga Styles</a>\r\n <div class=\"navbar-dropdown\">\r\n <a class=\"navbar-item\" href=\"/ananda-yoga\">Ananda Yoga</a>\r\n <a class=\"navbar-item\" href=\"/bikram-yoga\">Bikram Yoga</a>\r\n <a class=\"navbar-item\" href=\"/hatha-yoga\">Hatha Yoga</a>\r\n <a class=\"navbar-item\" href=\"/ishta-yoga\">Ishta Yoga</a>\r\n <a class=\"navbar-item\" href=\"/jivamukti-yoga\">Jivamukti Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kali-ray-tri-yoga\">Kali Ray Tri Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kriya-yoga\">Kriya Yoga</a>\r\n <a class=\"navbar-item\" href=\"/kundalini-yoga\">Kundalini Yoga</a>\r\n <a class=\"navbar-item\" href=\"/svaroopa-yoga\">Svaroopa Yoga</a>\r\n <a class=\"navbar-item\" href=\"/tantric-yoga\">Tantric Yoga</a>\r\n <a class=\"navbar-item\" href=\"/vinyasa-yoga\">Vinyasa Yoga</a>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n'.freeze;\n @_out_buf << '\r\n\r\n\r\n<!-- \r\n <a class=\"navbar-item \" href=\"/\">\r\n my piles\r\n </a>\r\n <a class=\"navbar-item \" href=\"/stockpiles\">\r\n stockpiles\r\n </a>\r\n-->\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </nav>\r\n\r\n\r\n\r\n<!-- END NAV -->'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :"/layout/_flash", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe9192fdc08 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/layout/_flash.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_7380(locals) /home/deploy/yogamela/app/views/layout/_flash.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe9192fdaf0 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data=" <% if flash.has?(:notice) %>\r\n\r\n <div class=\"container\">\r\n <div class=\"notification is-success\">\r\n <button class=\"delete\"></button>\r\n <%= flash[:notice] %>\r\n </div>\r\n </div>\r\n\r\n <% end %>\r\n\r\n <% if flash.has?(:error_title) %>\r\n\r\n <div class=\"container\">\r\n <div class=\"notification is-warning\">\r\n <button class=\"delete\"></button>\r\n <h3 class=\"title\"><%= flash[:error_title] %></h3>\r\n <h3 class=\"subtitle\"><%= flash[:last_node] %></h3>\r\n <% if flash.has?(:errors) %>\r\n <ul>\r\n <% flash[:errors].each do |error| %>\r\n <li><%= error %>\r\n <% end %>\r\n </ul>\r\n <% end %> \r\n </div>\r\n </div>\r\n\r\n <% end %>\r\n\r\n <p> </p>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe91944af48 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; if flash.has?(:notice) \r\n @_out_buf << '\r\n <div class=\"container\">\r\n <div class=\"notification is-success\">\r\n <button class=\"delete\"></button>\r\n '.freeze; @_out_buf << ( flash[:notice] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' </div>\r\n </div>\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; if flash.has?(:error_title) \r\n @_out_buf << '\r\n <div class=\"container\">\r\n <div class=\"notification is-warning\">\r\n <button class=\"delete\"></button>\r\n <h3 class=\"title\">'.freeze; @_out_buf << ( flash[:error_title] ).to_s; @_out_buf << '</h3>\r\n <h3 class=\"subtitle\">'.freeze; @_out_buf << ( flash[:last_node] ).to_s; @_out_buf << '</h3>\r\n'.freeze; if flash.has?(:errors) \r\n @_out_buf << ' <ul>\r\n'.freeze; flash[:errors].each do |error| \r\n @_out_buf << ' <li>'.freeze; @_out_buf << ( error ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << ' </ul>\r\n'.freeze; end \r\n @_out_buf << ' </div>\r\n </div>\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n <p> </p>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; if flash.has?(:notice) \r\n @_out_buf << '\r\n <div class=\"container\">\r\n <div class=\"notification is-success\">\r\n <button class=\"delete\"></button>\r\n '.freeze; @_out_buf << ( flash[:notice] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' </div>\r\n </div>\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; if flash.has?(:error_title) \r\n @_out_buf << '\r\n <div class=\"container\">\r\n <div class=\"notification is-warning\">\r\n <button class=\"delete\"></button>\r\n <h3 class=\"title\">'.freeze; @_out_buf << ( flash[:error_title] ).to_s; @_out_buf << '</h3>\r\n <h3 class=\"subtitle\">'.freeze; @_out_buf << ( flash[:last_node] ).to_s; @_out_buf << '</h3>\r\n'.freeze; if flash.has?(:errors) \r\n @_out_buf << ' <ul>\r\n'.freeze; flash[:errors].each do |error| \r\n @_out_buf << ' <li>'.freeze; @_out_buf << ( error ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << ' </ul>\r\n'.freeze; end \r\n @_out_buf << ' </div>\r\n </div>\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n <p> </p>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :"/layout/_footer", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe934bf76e0 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/layout/_footer.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_7380(locals) /home/deploy/yogamela/app/views/layout/_footer.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe9194ab140 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<section class=\"section has-background-grey-dark has-text-white-ter mt-6\">\r\n <div class=\"container\">\r\n\r\n <div class=\"columns\">\r\n \r\n <div class=\"column is-one-third\">\r\n\r\n </div>\r\n\r\n <div class=\"column is-one-third\">\r\n\r\n </div>\r\n \r\n <div class=\"column is-one-third\">\r\n\r\n \r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"columns mt-6\">\r\n\r\n <div class=\"column is-one-third\">\r\n\r\n <p class=\"has-text-white-ter is-size-5 mb-4\"><%= settings.copyright %> <%#= settings.site_name %></p>\r\n \r\n <div class=\"divider is-right mt-0\"></div>\r\n \r\n <ul class=\"is-size-7\">\r\n <% unless settings.about.blank? %>\r\n <li class=\"\" style=\"\"><a href=\"<%= settings.about %>\" title=\"\" class=\"has-text-white-ter\">About Us</a></li>\r\n <% end %>\r\n\r\n <% unless settings.contact.blank? %>\r\n <li class=\"\" style=\"\"><a href=\"<%= settings.contact %>\" title=\"\" class=\"has-text-white-ter\">Contact</a></li>\r\n <% end %>\r\n\r\n <% unless settings.disclaimer.blank? %>\r\n <li class=\"\" style=\"\"><a href=\"<%= settings.disclaimer %>\" title=\"\" class=\"has-text-white-ter\">Disclaimer</a></li> \r\n <% end %>\r\n\r\n <% unless settings.terms.blank? %>\r\n <li class=\"\" style=\"\"><a href=\"<%= settings.terms %>\" title=\"\" class=\"has-text-white-ter\">Terms of Use</a></li>\r\n <% end %>\r\n </ul>\r\n\r\n <p class=\"mt-5 \">\r\n <% unless settings.twitter.blank? %> \r\n <a href=\"<%= settings.twitter %>\" target=\"_blank\" rel=\"noopener\" class=\"has-text-white-ter\"><i class=\"fa fa-twitter is-size-4\"></i> </a>\r\n <% end %>\r\n \r\n <% unless settings.facebook.blank? %> \r\n <a href=\"<%= settings.facebook %>\" target=\"_blank\" rel=\"noopener\" class=\"has-text-white-ter\"><i class=\"fa fa-facebook is-size-4\"></i> </a>\r\n <% end %>\r\n </p>\r\n\r\n\r\n \r\n </div>\r\n\r\n <div class=\"column is-one-third\">\r\n\r\n\r\n </div>\r\n \r\n <div class=\"column is-one-third\">\r\n\r\n <p class=\"has-text-white-ter is-size-5 mb-4\"><!-- 18+ --></p>\r\n \r\n <div class=\"divider is-right mt-0\"></div>\r\n <!--\r\n <ul class=\"is-size-7\">\r\n <li class=\"\" style=\"\"><a href=\"https://www.begambleaware.org/\" title=\"BeGambleAware®: Gambling Help & Gambling Addiction\" class=\"has-text-white-ter\" target=\"_blank\">BeGambleAware.org</a></li>\r\n <li class=\"\" style=\"\"><a href=\"https://www.gamcare.org.uk/\" title=\"GamCare - The leading provider of support for anyone affected by problem gambling in Great Britain\" class=\"has-text-white-ter\" target=\"_blank\">gamcare.org.uk</a>\r\n </ul>\r\n -->\r\n </div>\r\n </div>\r\n\r\n\r\n </div> \r\n</section> \r\n\r\n\r\n\r\n\r\n\r\n\r\n", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe9194164f0 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; @_out_buf << '<section class=\"section has-background-grey-dark has-text-white-ter mt-6\">\r\n <div class=\"container\">\r\n\r\n <div class=\"columns\">\r\n \r\n <div class=\"column is-one-third\">\r\n\r\n </div>\r\n\r\n <div class=\"column is-one-third\">\r\n\r\n </div>\r\n \r\n <div class=\"column is-one-third\">\r\n\r\n \r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"columns mt-6\">\r\n\r\n <div class=\"column is-one-third\">\r\n\r\n <p class=\"has-text-white-ter is-size-5 mb-4\">'.freeze; @_out_buf << ( settings.copyright ).to_s; @_out_buf << ' '.freeze;; @_out_buf << '</p>\r\n \r\n <div class=\"divider is-right mt-0\"></div>\r\n \r\n <ul class=\"is-size-7\">\r\n'.freeze; unless settings.about.blank? \r\n @_out_buf << ' <li class=\"\" style=\"\"><a href=\"'.freeze; @_out_buf << ( settings.about ).to_s; @_out_buf << '\" title=\"\" class=\"has-text-white-ter\">About Us</a></li>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; unless settings.contact.blank? \r\n @_out_buf << ' <li class=\"\" style=\"\"><a href=\"'.freeze; @_out_buf << ( settings.contact ).to_s; @_out_buf << '\" title=\"\" class=\"has-text-white-ter\">Contact</a></li>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; unless settings.disclaimer.blank? \r\n @_out_buf << ' <li class=\"\" style=\"\"><a href=\"'.freeze; @_out_buf << ( settings.disclaimer ).to_s; @_out_buf << '\" title=\"\" class=\"has-text-white-ter\">Disclaimer</a></li> \r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; unless settings.terms.blank? \r\n @_out_buf << ' <li class=\"\" style=\"\"><a href=\"'.freeze; @_out_buf << ( settings.terms ).to_s; @_out_buf << '\" title=\"\" class=\"has-text-white-ter\">Terms of Use</a></li>\r\n'.freeze; end \r\n @_out_buf << ' </ul>\r\n\r\n <p class=\"mt-5 \">\r\n'.freeze; unless settings.twitter.blank? \r\n @_out_buf << ' <a href=\"'.freeze; @_out_buf << ( settings.twitter ).to_s; @_out_buf << '\" target=\"_blank\" rel=\"noopener\" class=\"has-text-white-ter\"><i class=\"fa fa-twitter is-size-4\"></i> </a>\r\n'.freeze; end \r\n @_out_buf << ' \r\n'.freeze; unless settings.facebook.blank? \r\n @_out_buf << ' <a href=\"'.freeze; @_out_buf << ( settings.facebook ).to_s; @_out_buf << '\" target=\"_blank\" rel=\"noopener\" class=\"has-text-white-ter\"><i class=\"fa fa-facebook is-size-4\"></i> </a>\r\n'.freeze; end \r\n @_out_buf << ' </p>\r\n\r\n\r\n \r\n </div>\r\n\r\n <div class=\"column is-one-third\">\r\n\r\n\r\n </div>\r\n \r\n <div class=\"column is-one-third\">\r\n\r\n <p class=\"has-text-white-ter is-size-5 mb-4\"><!-- 18+ --></p>\r\n \r\n <div class=\"divider is-right mt-0\"></div>\r\n <!--\r\n <ul class=\"is-size-7\">\r\n <li class=\"\" style=\"\"><a href=\"https://www.begambleaware.org/\" title=\"BeGambleAware®: Gambling Help & Gambling Addiction\" class=\"has-text-white-ter\" target=\"_blank\">BeGambleAware.org</a></li>\r\n <li class=\"\" style=\"\"><a href=\"https://www.gamcare.org.uk/\" title=\"GamCare - The leading provider of support for anyone affected by problem gambling in Great Britain\" class=\"has-text-white-ter\" target=\"_blank\">gamcare.org.uk</a>\r\n </ul>\r\n -->\r\n </div>\r\n </div>\r\n\r\n\r\n </div> \r\n</section> \r\n\r\n\r\n\r\n\r\n\r\n\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; @_out_buf << '<section class=\"section has-background-grey-dark has-text-white-ter mt-6\">\r\n <div class=\"container\">\r\n\r\n <div class=\"columns\">\r\n \r\n <div class=\"column is-one-third\">\r\n\r\n </div>\r\n\r\n <div class=\"column is-one-third\">\r\n\r\n </div>\r\n \r\n <div class=\"column is-one-third\">\r\n\r\n \r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"columns mt-6\">\r\n\r\n <div class=\"column is-one-third\">\r\n\r\n <p class=\"has-text-white-ter is-size-5 mb-4\">'.freeze; @_out_buf << ( settings.copyright ).to_s; @_out_buf << ' '.freeze;; @_out_buf << '</p>\r\n \r\n <div class=\"divider is-right mt-0\"></div>\r\n \r\n <ul class=\"is-size-7\">\r\n'.freeze; unless settings.about.blank? \r\n @_out_buf << ' <li class=\"\" style=\"\"><a href=\"'.freeze; @_out_buf << ( settings.about ).to_s; @_out_buf << '\" title=\"\" class=\"has-text-white-ter\">About Us</a></li>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; unless settings.contact.blank? \r\n @_out_buf << ' <li class=\"\" style=\"\"><a href=\"'.freeze; @_out_buf << ( settings.contact ).to_s; @_out_buf << '\" title=\"\" class=\"has-text-white-ter\">Contact</a></li>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; unless settings.disclaimer.blank? \r\n @_out_buf << ' <li class=\"\" style=\"\"><a href=\"'.freeze; @_out_buf << ( settings.disclaimer ).to_s; @_out_buf << '\" title=\"\" class=\"has-text-white-ter\">Disclaimer</a></li> \r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; unless settings.terms.blank? \r\n @_out_buf << ' <li class=\"\" style=\"\"><a href=\"'.freeze; @_out_buf << ( settings.terms ).to_s; @_out_buf << '\" title=\"\" class=\"has-text-white-ter\">Terms of Use</a></li>\r\n'.freeze; end \r\n @_out_buf << ' </ul>\r\n\r\n <p class=\"mt-5 \">\r\n'.freeze; unless settings.twitter.blank? \r\n @_out_buf << ' <a href=\"'.freeze; @_out_buf << ( settings.twitter ).to_s; @_out_buf << '\" target=\"_blank\" rel=\"noopener\" class=\"has-text-white-ter\"><i class=\"fa fa-twitter is-size-4\"></i> </a>\r\n'.freeze; end \r\n @_out_buf << ' \r\n'.freeze; unless settings.facebook.blank? \r\n @_out_buf << ' <a href=\"'.freeze; @_out_buf << ( settings.facebook ).to_s; @_out_buf << '\" target=\"_blank\" rel=\"noopener\" class=\"has-text-white-ter\"><i class=\"fa fa-facebook is-size-4\"></i> </a>\r\n'.freeze; end \r\n @_out_buf << ' </p>\r\n\r\n\r\n \r\n </div>\r\n\r\n <div class=\"column is-one-third\">\r\n\r\n\r\n </div>\r\n \r\n <div class=\"column is-one-third\">\r\n\r\n <p class=\"has-text-white-ter is-size-5 mb-4\"><!-- 18+ --></p>\r\n \r\n <div class=\"divider is-right mt-0\"></div>\r\n <!--\r\n <ul class=\"is-size-7\">\r\n <li class=\"\" style=\"\"><a href=\"https://www.begambleaware.org/\" title=\"BeGambleAware®: Gambling Help & Gambling Addiction\" class=\"has-text-white-ter\" target=\"_blank\">BeGambleAware.org</a></li>\r\n <li class=\"\" style=\"\"><a href=\"https://www.gamcare.org.uk/\" title=\"GamCare - The leading provider of support for anyone affected by problem gambling in Great Britain\" class=\"has-text-white-ter\" target=\"_blank\">gamcare.org.uk</a>\r\n </ul>\r\n -->\r\n </div>\r\n </div>\r\n\r\n\r\n </div> \r\n</section> \r\n\r\n\r\n\r\n\r\n\r\n\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :country_tag, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe9180c4cf8 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/country_tag.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_7960(locals) /home/deploy/yogamela/app/views/country_tag.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe9180c4ac8 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <%= ad_tag_breadcrumb(params) %>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t <%= @tag.name %> in <%= @country.name %>\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--<%= @tag.name %> in --> <%= @country.name %> \r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n<% end %>\r\n\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering <%= @tag.listed ? \"<a href='/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}'>\#{@tag.name}</a>\" : @tag.name %>\r\n\r\n\t<%= paginate(@items) %><%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in <%= @country.name %></h2>\r\n <p>You can <a href=\"/<%= @country.slug %>\">browser <%= @country.name %> Yoga</a> by:</p>\r\n \r\n <%= erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent %> \t\r\n\r\n</div>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe91c341478 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_tag_breadcrumb(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in --> '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering '.freeze; @_out_buf << ( @tag.listed ? \"<a href='/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}'>\#{@tag.name}</a>\" : @tag.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @country.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_tag_breadcrumb(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in --> '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering '.freeze; @_out_buf << ( @tag.listed ? \"<a href='/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}'>\#{@tag.name}</a>\" : @tag.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @country.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :country, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe934a4bcb0 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/country.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_7960(locals) /home/deploy/yogamela/app/views/country.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe934a4bad0 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :feed do %>\r\n <link rel=\"alternate\" \r\n type=\"application/rss+xml\" \r\n title=\"Subscribe to news on Yoga in <%= @country.name %>\"\r\n href=\"https://<%= settings.domain %>/<%= @country.slug %>.rss\">\r\n<% end %>\r\n\r\n<% content_for :breadcrumb do %>\r\n <%= ad_breadcrump(params) %>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n <section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in <%= @country.name %>\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <%= @country.name %> \r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n </section>\r\n<% end %>\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in <%= @country.name %>\r\n\t<%= paginate(@items) %><%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by State or Province</h2> \r\n\r\n\t<div class=\"field is-grouped is-grouped-multiline\">\r\n\t <%- @adm1s_of_country.each do |adm1| -%>\r\n <%= link_to_ad(adm1) -%>\r\n\t <%- end -%>\r\n\t</div>\t\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in <%= @country.name %></h2>\r\n\t\r\n <p>You can browser <%= @country.name %> Yoga by:</p>\r\n\r\n <%= erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent %>\r\n\r\n</div>\r\n\r\n", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe934863c40 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :feed do \r\n @_out_buf << ' <link rel=\"alternate\" \r\n type=\"application/rss+xml\" \r\n title=\"Subscribe to news on Yoga in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '\"\r\n href=\"https://'.freeze; @_out_buf << ( settings.domain ).to_s; @_out_buf << '/'.freeze; @_out_buf << ( @country.slug ).to_s; @_out_buf << '.rss\">\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_breadcrump(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << ' <section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n </section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by State or Province</h2> \r\n\r\n\t<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze;\t @adm1s_of_country.each do |adm1| \r\n @_out_buf << ' '.freeze; @_out_buf << ( link_to_ad(adm1) ).to_s;\t end \r\n @_out_buf << '\t</div>\t\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '</h2>\r\n\t\r\n <p>You can browser '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' Yoga by:</p>\r\n\r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n</div>\r\n\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :feed do \r\n @_out_buf << ' <link rel=\"alternate\" \r\n type=\"application/rss+xml\" \r\n title=\"Subscribe to news on Yoga in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '\"\r\n href=\"https://'.freeze; @_out_buf << ( settings.domain ).to_s; @_out_buf << '/'.freeze; @_out_buf << ( @country.slug ).to_s; @_out_buf << '.rss\">\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_breadcrump(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << ' <section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n </section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by State or Province</h2> \r\n\r\n\t<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze;\t @adm1s_of_country.each do |adm1| \r\n @_out_buf << ' '.freeze; @_out_buf << ( link_to_ad(adm1) ).to_s;\t end \r\n @_out_buf << '\t</div>\t\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '</h2>\r\n\t\r\n <p>You can browser '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' Yoga by:</p>\r\n\r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n</div>\r\n\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :item, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe9356a51a0 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/item.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_8920(locals) /home/deploy/yogamela/app/views/item.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe9356a4930 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <ul>\r\n <li><a href='/' title=\"<%= settings.href_titles[:home] %>\">Home</a></li>\r\n <%- if @country -%>\r\n <li class=\"<%= @ad == @country ? 'is-active' : '' %>\"><a href=\"/<%= @country.slug %>\" title=\"Yoga classes in <%= @country&.name %> <%= @country.adlabel&.name %>\"><%= @country.name %></a>\r\n <%- end -%>\r\n <%- if @adm1 -%>\r\n <li><a href=\"/<%= @adm1.slug %>\" title=\"Yoga classes in <%= @adm1&.name %>, <%= @adm1.adlabel&.name %>\"><%= @adm1.name %></a>\r\n <%- end -%>\r\n <%- if @adm2 -%>\r\n <li><a href=\"/<%= @adm2.slug %>\" title=\"Yoga classes in <%= @adm2.name %>\"><%= @adm2.name %></a>\r\n <%- end -%>\r\n <%- if @pp -%>\r\n <li><a href=\"/<%= @pp.slug %>\"><%= @pp.name %></a>\r\n <%- end -%>\r\n <li class='is-active'><a href=\"\"><%= @item.name %></a>\r\n </ul>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t <%= @item.name %>\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\r\n\t <%= @item.pp&.name %>, <%= @item.adm1&.short || @item.adm1&.name %>, <%= @item.country.name %> \r\n\r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n\r\n<% end %>\r\n\r\n<div class=\"content mt-5\">\r\n\r\n <p class=\"is-size-7\">\r\n\t <%= @item.address %> <br>\r\n\t\t <%= @item.zip %> \r\n\t\t <%= @item.pp&.name %>, <%= @item.adm1&.short || @item.adm1&.name %>\r\n\t\t <br>\r\n\t\t <%= @item.country&.short || @item.country.name %> \r\n\t\t <br> \r\n\t\t <%= @item.phone %>\r\n\t</p>\r\n\t\r\n\t<p class=\"mt-5\"><%#= @item.descripton %> \r\n\r\n <h2 class=\"title is-size-4 has-text-grey\"><%= @item.name %> offers:</h2>\r\n\r\n\t <% my_hash = {} %>\r\n\r\n\t <% @item.tags.each do |tag| %>\r\n\t <% my_hash[tag.parent.name] = my_hash[tag.parent.name] || [] %>\r\n\t <% my_hash[tag.parent.name] << tag %>\r\n\t <% end %>\r\n\r\n\t <%= erb :'/partials/_tags_by_parent_dl_no_link', :locals => {:tags_by_parent => my_hash} if my_hash %> \t\r\n\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in <%= @item.pp ? @item.pp.name : \"n/a\" %></h2>\r\n\r\n <p>You can <a href=\"/<%= @item.pp&.slug %>\">browser <%= @item.pp&.name %> Yoga</a> by:</p>\r\n\r\n <% my_hash = {} %>\r\n\r\n <% @item.tags.each do |tag| %>\r\n <% my_hash[tag.parent.name] = my_hash[tag.parent.name] || [] %>\r\n <% my_hash[tag.parent.name] << tag %>\r\n <% end %>\r\n\r\n <%= erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => my_hash} if my_hash %> \t\r\n\r\n</div>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe91cd609e0 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n'.freeze; if @country \r\n @_out_buf << ' <li class=\"'.freeze; @_out_buf << ( @ad == @country ? 'is-active' : '' ).to_s; @_out_buf << '\"><a href=\"/'.freeze; @_out_buf << ( @country.slug ).to_s; @_out_buf << '\" title=\"Yoga classes in '.freeze; @_out_buf << ( @country&.name ).to_s; @_out_buf << ' '.freeze; @_out_buf << ( @country.adlabel&.name ).to_s; @_out_buf << '\">'.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '</a>\r\n'.freeze; end \r\n if @adm1 \r\n @_out_buf << ' <li><a href=\"/'.freeze; @_out_buf << ( @adm1.slug ).to_s; @_out_buf << '\" title=\"Yoga classes in '.freeze; @_out_buf << ( @adm1&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @adm1.adlabel&.name ).to_s; @_out_buf << '\">'.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '</a>\r\n'.freeze; end \r\n if @adm2 \r\n @_out_buf << ' <li><a href=\"/'.freeze; @_out_buf << ( @adm2.slug ).to_s; @_out_buf << '\" title=\"Yoga classes in '.freeze; @_out_buf << ( @adm2.name ).to_s; @_out_buf << '\">'.freeze; @_out_buf << ( @adm2.name ).to_s; @_out_buf << '</a>\r\n'.freeze; end \r\n if @pp \r\n @_out_buf << ' <li><a href=\"/'.freeze; @_out_buf << ( @pp.slug ).to_s; @_out_buf << '\">'.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << '</a>\r\n'.freeze; end \r\n @_out_buf << ' <li class=\\'is-active\\'><a href=\"\">'.freeze; @_out_buf << ( @item.name ).to_s; @_out_buf << '</a>\r\n </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t '.freeze; @_out_buf << ( @item.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\r\n\t '.freeze; @_out_buf << ( @item.pp&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @item.adm1&.short || @item.adm1&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @item.country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-5\">\r\n\r\n <p class=\"is-size-7\">\r\n\t '.freeze; @_out_buf << ( @item.address ).to_s; @_out_buf << ' <br>\r\n\t\t '.freeze; @_out_buf << ( @item.zip ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t\t '.freeze; @_out_buf << ( @item.pp&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @item.adm1&.short || @item.adm1&.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t\t <br>\r\n\t\t '.freeze; @_out_buf << ( @item.country&.short || @item.country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t\t <br> \r\n\t\t '.freeze; @_out_buf << ( @item.phone ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t</p>\r\n\t\r\n\t<p class=\"mt-5\">'.freeze;\n @_out_buf << ' \r\n'.freeze; @_out_buf << '\r\n <h2 class=\"title is-size-4 has-text-grey\">'.freeze; @_out_buf << ( @item.name ).to_s; @_out_buf << ' offers:</h2>\r\n\r\n'.freeze;\t my_hash = {} \r\n @_out_buf << '\r\n'.freeze;\t @item.tags.each do |tag| \r\n\t my_hash[tag.parent.name] = my_hash[tag.parent.name] || [] \r\n\t my_hash[tag.parent.name] << tag \r\n\t end \r\n @_out_buf << '\r\n\t '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl_no_link', :locals => {:tags_by_parent => my_hash} if my_hash ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @item.pp ? @item.pp.name : \"n/a\" ).to_s; @_out_buf << '</h2>\r\n\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @item.pp&.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @item.pp&.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n\r\n'.freeze; my_hash = {} \r\n @_out_buf << '\r\n'.freeze; @item.tags.each do |tag| \r\n my_hash[tag.parent.name] = my_hash[tag.parent.name] || [] \r\n my_hash[tag.parent.name] << tag \r\n end \r\n @_out_buf << '\r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => my_hash} if my_hash ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n'.freeze; if @country \r\n @_out_buf << ' <li class=\"'.freeze; @_out_buf << ( @ad == @country ? 'is-active' : '' ).to_s; @_out_buf << '\"><a href=\"/'.freeze; @_out_buf << ( @country.slug ).to_s; @_out_buf << '\" title=\"Yoga classes in '.freeze; @_out_buf << ( @country&.name ).to_s; @_out_buf << ' '.freeze; @_out_buf << ( @country.adlabel&.name ).to_s; @_out_buf << '\">'.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << '</a>\r\n'.freeze; end \r\n if @adm1 \r\n @_out_buf << ' <li><a href=\"/'.freeze; @_out_buf << ( @adm1.slug ).to_s; @_out_buf << '\" title=\"Yoga classes in '.freeze; @_out_buf << ( @adm1&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @adm1.adlabel&.name ).to_s; @_out_buf << '\">'.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '</a>\r\n'.freeze; end \r\n if @adm2 \r\n @_out_buf << ' <li><a href=\"/'.freeze; @_out_buf << ( @adm2.slug ).to_s; @_out_buf << '\" title=\"Yoga classes in '.freeze; @_out_buf << ( @adm2.name ).to_s; @_out_buf << '\">'.freeze; @_out_buf << ( @adm2.name ).to_s; @_out_buf << '</a>\r\n'.freeze; end \r\n if @pp \r\n @_out_buf << ' <li><a href=\"/'.freeze; @_out_buf << ( @pp.slug ).to_s; @_out_buf << '\">'.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << '</a>\r\n'.freeze; end \r\n @_out_buf << ' <li class=\\'is-active\\'><a href=\"\">'.freeze; @_out_buf << ( @item.name ).to_s; @_out_buf << '</a>\r\n </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t '.freeze; @_out_buf << ( @item.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\r\n\t '.freeze; @_out_buf << ( @item.pp&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @item.adm1&.short || @item.adm1&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @item.country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-5\">\r\n\r\n <p class=\"is-size-7\">\r\n\t '.freeze; @_out_buf << ( @item.address ).to_s; @_out_buf << ' <br>\r\n\t\t '.freeze; @_out_buf << ( @item.zip ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t\t '.freeze; @_out_buf << ( @item.pp&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @item.adm1&.short || @item.adm1&.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t\t <br>\r\n\t\t '.freeze; @_out_buf << ( @item.country&.short || @item.country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t\t <br> \r\n\t\t '.freeze; @_out_buf << ( @item.phone ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t</p>\r\n\t\r\n\t<p class=\"mt-5\">'.freeze;\n @_out_buf << ' \r\n'.freeze; @_out_buf << '\r\n <h2 class=\"title is-size-4 has-text-grey\">'.freeze; @_out_buf << ( @item.name ).to_s; @_out_buf << ' offers:</h2>\r\n\r\n'.freeze;\t my_hash = {} \r\n @_out_buf << '\r\n'.freeze;\t @item.tags.each do |tag| \r\n\t my_hash[tag.parent.name] = my_hash[tag.parent.name] || [] \r\n\t my_hash[tag.parent.name] << tag \r\n\t end \r\n @_out_buf << '\r\n\t '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl_no_link', :locals => {:tags_by_parent => my_hash} if my_hash ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @item.pp ? @item.pp.name : \"n/a\" ).to_s; @_out_buf << '</h2>\r\n\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @item.pp&.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @item.pp&.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n\r\n'.freeze; my_hash = {} \r\n @_out_buf << '\r\n'.freeze; @item.tags.each do |tag| \r\n my_hash[tag.parent.name] = my_hash[tag.parent.name] || [] \r\n my_hash[tag.parent.name] << tag \r\n end \r\n @_out_buf << '\r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => my_hash} if my_hash ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :"/partials/_tags_by_parent_dl_no_link", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe918242be8 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/partials/_tags_by_parent_dl_no_link.erb", @compiled_method={[RoutesController, [:tags_by_parent]]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_8920(locals) /home/deploy/yogamela/app/views/partials/_tags_by_parent_dl_no_link.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe918242760 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data=" <% span_class = \"tag is-primary\" %>\r\n\r\n <dl>\r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Styles</dt>\r\n <dd class=\"ml-0 mt-4\">\r\n <%= tags_by_parent[\"Yoga Styles\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Yoga Styles\"] %>\r\n <%= tags_by_parent[\"Modern Styles\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Modern Styles\"] %>\r\n </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Special Yoga</dt>\r\n <dd class=\"ml-0 mt-4\"><%= tags_by_parent[\"Special\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Special\"] %></dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Age</dt>\r\n <dd class=\"ml-0 mt-4\"><%= tags_by_parent[\"Age\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Age\"] %></dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Skill Level</dt>\r\n <dd class=\"ml-0 mt-4\"><%= tags_by_parent[\"Level\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Level\"] %></dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Group Size</dt>\r\n <dd class=\"ml-0 mt-4\"><%= tags_by_parent[\"Groups\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Groups\"] %></dd> \r\n </dl> ", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe91d654f10 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; span_class = \"tag is-primary\" \r\n @_out_buf << '\r\n <dl>\r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Styles</dt>\r\n <dd class=\"ml-0 mt-4\">\r\n '.freeze; @_out_buf << ( tags_by_parent[\"Yoga Styles\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Yoga Styles\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Modern Styles\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Modern Styles\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Special Yoga</dt>\r\n <dd class=\"ml-0 mt-4\">'.freeze; @_out_buf << ( tags_by_parent[\"Special\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Special\"] ).to_s; @_out_buf << '</dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Age</dt>\r\n <dd class=\"ml-0 mt-4\">'.freeze; @_out_buf << ( tags_by_parent[\"Age\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Age\"] ).to_s; @_out_buf << '</dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Skill Level</dt>\r\n <dd class=\"ml-0 mt-4\">'.freeze; @_out_buf << ( tags_by_parent[\"Level\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Level\"] ).to_s; @_out_buf << '</dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Group Size</dt>\r\n <dd class=\"ml-0 mt-4\">'.freeze; @_out_buf << ( tags_by_parent[\"Groups\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Groups\"] ).to_s; @_out_buf << '</dd> \r\n </dl> '.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; span_class = \"tag is-primary\" \r\n @_out_buf << '\r\n <dl>\r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Styles</dt>\r\n <dd class=\"ml-0 mt-4\">\r\n '.freeze; @_out_buf << ( tags_by_parent[\"Yoga Styles\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Yoga Styles\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' '.freeze; @_out_buf << ( tags_by_parent[\"Modern Styles\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Modern Styles\"] ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ' </dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Special Yoga</dt>\r\n <dd class=\"ml-0 mt-4\">'.freeze; @_out_buf << ( tags_by_parent[\"Special\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Special\"] ).to_s; @_out_buf << '</dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Yoga Age</dt>\r\n <dd class=\"ml-0 mt-4\">'.freeze; @_out_buf << ( tags_by_parent[\"Age\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Age\"] ).to_s; @_out_buf << '</dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Skill Level</dt>\r\n <dd class=\"ml-0 mt-4\">'.freeze; @_out_buf << ( tags_by_parent[\"Level\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Level\"] ).to_s; @_out_buf << '</dd>\r\n \r\n <dt class=\"title is-size-5 mb-2 mt-5 has-text-grey\">Group Size</dt>\r\n <dd class=\"ml-0 mt-4\">'.freeze; @_out_buf << ( tags_by_parent[\"Groups\"].map{|tag| \"<span class='\#{span_class}'>\#{tag.name}</span>\"}.join(\" \") if tags_by_parent[\"Groups\"] ).to_s; @_out_buf << '</dd> \r\n </dl> '.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :pp, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe9347cfb08 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/pp.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_10060(locals) /home/deploy/yogamela/app/views/pp.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe9347cf9c8 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <%= ad_breadcrump(params) %>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in <%= @pp.name %>\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <%= @pp.name %>, <%= @adm1&.name %>, <%= @country.name %> \r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n<% end %>\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in <%= @pp.name %>\r\n\r\n\t<%= paginate(@items) %><%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in <%= @ad.name %></h2>\r\n <p>You can <a href=\"/<%= @pp.slug %>\">browser <%= @pp.name %> Yoga</a> by:</p>\r\n \r\n <%= erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent %> \t\r\n\r\n</div>\r\n", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe9347cf900 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_breadcrump(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @adm1&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @ad.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @pp.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_breadcrump(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @adm1&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @ad.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @pp.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :pp_tag, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe91ce018b8 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/pp_tag.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_11320(locals) /home/deploy/yogamela/app/views/pp_tag.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe91ce017a0 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <%= ad_tag_breadcrumb(params) %>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t <%= @tag.name %> in <%= @pp.name %>\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--<%= @tag.name %> in --><%= @pp.name %>, <%= \"\#{@adm2&.name}\" %> <%= @adm1&.name %>, <%= @country&.name %> \r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n<% end %>\r\n\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering <%= @tag.name %>\r\n\r\n\t<%= paginate(@items) %><%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in <%= @pp.name %></h2>\r\n <p>You can <a href=\"/<%= @pp.slug %>\">browser <%= @pp.name %> Yoga</a> by:</p>\r\n \r\n <%= erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent %> \t\r\n\r\n</div>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe91908a1d8 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_tag_breadcrumb(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in -->'.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( \"\#{@adm2&.name}\" ).to_s; @_out_buf << ' '.freeze; @_out_buf << ( @adm1&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country&.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @pp.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_tag_breadcrumb(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in -->'.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( \"\#{@adm2&.name}\" ).to_s; @_out_buf << ' '.freeze; @_out_buf << ( @adm1&.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country&.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @pp.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @pp.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :tag, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe907a92f48 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/tag.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_21160(locals) /home/deploy/yogamela/app/views/tag.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe907a92e30 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <ul>\r\n <li><a href='/' title=\"<%= settings.href_titles[:home] %>\">Home</a></li>\r\n <li><a href=\"<%= settings.tags_folder %>\">All Tags</a>\r\n <li class='is-active'><a href=\"\"><%= @tag.name %></a>\r\n </ul>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n <section class=\"hero is-info\">\r\n <div class=\"hero-body\">\r\n <div class=\"container\">\r\n <h1 class=\"title is-size-1\">\r\n <%= @tag.content.h1? ? @tag.content.h1 : @tag.name %> \r\n </h1>\r\n <h2 class=\"subtitle\">\r\n <%#= @item.city.name %> <%#= @item.state.name %> <%#= @item.country.name %> \r\n </h2>\r\n </div>\r\n </div>\r\n </section>\r\n<% end %>\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\r\n<!--<h2 class=\"title is-1 has-text-grey\"><%= @tag.content.h1 %></h1>-->\r\n<%= @tag.content.body %>\r\n<hr>\r\n\r\n<h2 class=\"title is-3 has-text-grey\">Browser more <%= @tag.name %></h2>\r\n\r\n<h3 class=\"title has-text-grey\"><%= @tag.name -%> by US City</h3>\r\n<div class=\"field is-grouped is-grouped-multiline\">\r\n <%- for ad in @pps -%>\r\n <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n <%= \"<a href='/\#{ad.slug}/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}' title = '\#{@tag.name} in \#{ad.name}, \#{ad.adm1&.name}, \#{ad.country.short}'>\#{ad.name}</a>\" %> \r\n </span> \r\n <span class=\"tag is-primary\">\r\n <%= ad.items_of_pp.listed.size -%> \r\n </span>\r\n </div>\r\n </div>\r\n <%- end -%>\r\n</div>\r\n\r\n<h3 class=\"title has-text-grey\"><%= @tag.name -%> by US State</h3>\r\n<div class=\"field is-grouped is-grouped-multiline\">\r\n <%- for ad in @adm1s -%>\r\n <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n <%= \"<a href='/\#{ad.slug}/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}' title = '\#{@tag.name} in \#{ad.name}, \#{ad.country.short}'>\#{ad.name}</a>\" %> \r\n </span> \r\n <span class=\"tag is-primary\">\r\n <%= ad.items_of_adm1.listed.size -%> \r\n </span>\r\n </div>\r\n </div>\r\n <%- end -%>\r\n</div>\r\n\r\n<h3 class=\"title has-text-grey\"><%= @tag.name -%> by Country</h3>\r\n<div class=\"field is-grouped is-grouped-multiline\">\r\n <%- for ad in @countries -%>\r\n <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n\r\n <%= \"<a href='/\#{ad.slug}/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}' title = '\#{@tag.name} in \#{ad.name}'>\#{ad.name}</a>\" %> \r\n </span> \r\n <span class=\"tag is-primary\">\r\n <%= ad.items_of_country.listed.size -%> \r\n </span>\r\n </div>\r\n </div>\r\n <%- end -%>\r\n</div>\r\n\r\n<hr>\r\n\r\n<%= paginate(@items) %>\r\n<%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n<%= paginate(@items) %>\r\n\r\n</div>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe907abbdf8 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n <li><a href=\"'.freeze; @_out_buf << ( settings.tags_folder ).to_s; @_out_buf << '\">All Tags</a>\r\n <li class=\\'is-active\\'><a href=\"\">'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '</a>\r\n </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << ' <section class=\"hero is-info\">\r\n <div class=\"hero-body\">\r\n <div class=\"container\">\r\n <h1 class=\"title is-size-1\">\r\n '.freeze; @_out_buf << ( @tag.content.h1? ? @tag.content.h1 : @tag.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </h1>\r\n <h2 class=\"subtitle\">\r\n'.freeze; @_out_buf << ' '.freeze;; @_out_buf << ' '.freeze;; @_out_buf << ' '.freeze;\n @_out_buf << ' \r\n'.freeze; @_out_buf << ' </h2>\r\n </div>\r\n </div>\r\n </section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n\r\n<!--<h2 class=\"title is-1 has-text-grey\">'.freeze; @_out_buf << ( @tag.content.h1 ).to_s; @_out_buf << '</h1>-->\r\n'.freeze; @_out_buf << ( @tag.content.body ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '<hr>\r\n\r\n<h2 class=\"title is-3 has-text-grey\">Browser more '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '</h2>\r\n\r\n<h3 class=\"title has-text-grey\">'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' by US City</h3>\r\n<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze; for ad in @pps \r\n @_out_buf << ' <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n '.freeze; @_out_buf << ( \"<a href='/\#{ad.slug}/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}' title = '\#{@tag.name} in \#{ad.name}, \#{ad.adm1&.name}, \#{ad.country.short}'>\#{ad.name}</a>\" ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </span> \r\n <span class=\"tag is-primary\">\r\n '.freeze; @_out_buf << ( ad.items_of_pp.listed.size ).to_s; @_out_buf << ' </span>\r\n </div>\r\n </div>\r\n'.freeze; end \r\n @_out_buf << '</div>\r\n\r\n<h3 class=\"title has-text-grey\">'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' by US State</h3>\r\n<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze; for ad in @adm1s \r\n @_out_buf << ' <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n '.freeze; @_out_buf << ( \"<a href='/\#{ad.slug}/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}' title = '\#{@tag.name} in \#{ad.name}, \#{ad.country.short}'>\#{ad.name}</a>\" ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </span> \r\n <span class=\"tag is-primary\">\r\n '.freeze; @_out_buf << ( ad.items_of_adm1.listed.size ).to_s; @_out_buf << ' </span>\r\n </div>\r\n </div>\r\n'.freeze; end \r\n @_out_buf << '</div>\r\n\r\n<h3 class=\"title has-text-grey\">'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' by Country</h3>\r\n<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze; for ad in @countries \r\n @_out_buf << ' <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n\r\n '.freeze; @_out_buf << ( \"<a href='/\#{ad.slug}/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}' title = '\#{@tag.name} in \#{ad.name}'>\#{ad.name}</a>\" ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </span> \r\n <span class=\"tag is-primary\">\r\n '.freeze; @_out_buf << ( ad.items_of_country.listed.size ).to_s; @_out_buf << ' </span>\r\n </div>\r\n </div>\r\n'.freeze; end \r\n @_out_buf << '</div>\r\n\r\n<hr>\r\n\r\n'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n <li><a href=\"'.freeze; @_out_buf << ( settings.tags_folder ).to_s; @_out_buf << '\">All Tags</a>\r\n <li class=\\'is-active\\'><a href=\"\">'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '</a>\r\n </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << ' <section class=\"hero is-info\">\r\n <div class=\"hero-body\">\r\n <div class=\"container\">\r\n <h1 class=\"title is-size-1\">\r\n '.freeze; @_out_buf << ( @tag.content.h1? ? @tag.content.h1 : @tag.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </h1>\r\n <h2 class=\"subtitle\">\r\n'.freeze; @_out_buf << ' '.freeze;; @_out_buf << ' '.freeze;; @_out_buf << ' '.freeze;\n @_out_buf << ' \r\n'.freeze; @_out_buf << ' </h2>\r\n </div>\r\n </div>\r\n </section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n\r\n<!--<h2 class=\"title is-1 has-text-grey\">'.freeze; @_out_buf << ( @tag.content.h1 ).to_s; @_out_buf << '</h1>-->\r\n'.freeze; @_out_buf << ( @tag.content.body ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '<hr>\r\n\r\n<h2 class=\"title is-3 has-text-grey\">Browser more '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '</h2>\r\n\r\n<h3 class=\"title has-text-grey\">'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' by US City</h3>\r\n<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze; for ad in @pps \r\n @_out_buf << ' <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n '.freeze; @_out_buf << ( \"<a href='/\#{ad.slug}/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}' title = '\#{@tag.name} in \#{ad.name}, \#{ad.adm1&.name}, \#{ad.country.short}'>\#{ad.name}</a>\" ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </span> \r\n <span class=\"tag is-primary\">\r\n '.freeze; @_out_buf << ( ad.items_of_pp.listed.size ).to_s; @_out_buf << ' </span>\r\n </div>\r\n </div>\r\n'.freeze; end \r\n @_out_buf << '</div>\r\n\r\n<h3 class=\"title has-text-grey\">'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' by US State</h3>\r\n<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze; for ad in @adm1s \r\n @_out_buf << ' <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n '.freeze; @_out_buf << ( \"<a href='/\#{ad.slug}/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}' title = '\#{@tag.name} in \#{ad.name}, \#{ad.country.short}'>\#{ad.name}</a>\" ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </span> \r\n <span class=\"tag is-primary\">\r\n '.freeze; @_out_buf << ( ad.items_of_adm1.listed.size ).to_s; @_out_buf << ' </span>\r\n </div>\r\n </div>\r\n'.freeze; end \r\n @_out_buf << '</div>\r\n\r\n<h3 class=\"title has-text-grey\">'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' by Country</h3>\r\n<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze; for ad in @countries \r\n @_out_buf << ' <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n\r\n '.freeze; @_out_buf << ( \"<a href='/\#{ad.slug}/\#{@tag.content.permalink? ? @tag.content.permalink : @tag.permalink}' title = '\#{@tag.name} in \#{ad.name}'>\#{ad.name}</a>\" ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </span> \r\n <span class=\"tag is-primary\">\r\n '.freeze; @_out_buf << ( ad.items_of_country.listed.size ).to_s; @_out_buf << ' </span>\r\n </div>\r\n </div>\r\n'.freeze; end \r\n @_out_buf << '</div>\r\n\r\n<hr>\r\n\r\n'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :items, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe91949dc98 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/items.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_25500(locals) /home/deploy/yogamela/app/views/items.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe91949db80 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <ul>\r\n <%- if params[:page].nil? -%> \r\n <li><a href='/' title=\"<%= settings.href_titles[:home] %>\">Home</a></li>\r\n <li class=\"is-active\"><a href=\"<%= settings.items_folder %>\">All Classes</a>\r\n <%- else -%>\r\n <li><a href='/' title=\"<%= settings.href_titles[:home] %>\">Home</a></li>\r\n <li><a href=\"<%= settings.items_folder %>\">All classes</a>\r\n <li class='is-active'>\r\n <a href=\"\"><%= \"page \" + params[:page] %></a>\r\n <%- end -%>\r\n </ul>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n Listings\t \r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n<% end %>\r\n\r\n<div class=\"content mt-6\">\r\n\r\n <%= paginate(@items) %><%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n</div>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe91926caa0 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n'.freeze; if params[:page].nil? \r\n @_out_buf << ' <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n <li class=\"is-active\"><a href=\"'.freeze; @_out_buf << ( settings.items_folder ).to_s; @_out_buf << '\">All Classes</a>\r\n'.freeze; else \r\n @_out_buf << ' <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n <li><a href=\"'.freeze; @_out_buf << ( settings.items_folder ).to_s; @_out_buf << '\">All classes</a>\r\n <li class=\\'is-active\\'>\r\n <a href=\"\">'.freeze; @_out_buf << ( \"page \" + params[:page] ).to_s; @_out_buf << '</a>\r\n'.freeze; end \r\n @_out_buf << ' </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n Listings\t \r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n '.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n'.freeze; if params[:page].nil? \r\n @_out_buf << ' <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n <li class=\"is-active\"><a href=\"'.freeze; @_out_buf << ( settings.items_folder ).to_s; @_out_buf << '\">All Classes</a>\r\n'.freeze; else \r\n @_out_buf << ' <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n <li><a href=\"'.freeze; @_out_buf << ( settings.items_folder ).to_s; @_out_buf << '\">All classes</a>\r\n <li class=\\'is-active\\'>\r\n <a href=\"\">'.freeze; @_out_buf << ( \"page \" + params[:page] ).to_s; @_out_buf << '</a>\r\n'.freeze; end \r\n @_out_buf << ' </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n Listings\t \r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n '.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :adm1, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe90a47ed70 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/adm1.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_147200(locals) /home/deploy/yogamela/app/views/adm1.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe90a47ec58 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <%= ad_breadcrump(params) %>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in <%= @adm1.name %>\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <%= @adm1.name %>, <%= @country.name %> \r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n<% end %>\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in <%= @adm1.name %>\r\n\r\n\t<%= paginate(@items) %><%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n\r\n<% if !@adm2s_of_adm1.blank? %>\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by Region, Province</h2> \r\n\r\n\t<div class=\"field is-grouped is-grouped-multiline\">\r\n\t <%- @adm2s_of_adm1.each do |adm2| -%>\r\n <%= link_to_ad(adm2) -%>\r\n\t <%- end -%>\r\n\t</div>\r\n\r\n<% elsif !@pps_of_adm1.blank? %>\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by City, Town</h2> \r\n\r\n\t<div class=\"field is-grouped is-grouped-multiline\">\r\n\r\n\t <%- @pps_of_adm1.each do |pp| -%>\r\n <%= link_to_ad(pp) -%>\r\n\t <%- end -%>\r\n\r\n\t</div>\r\n\r\n<% end %>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in <%= @adm1.name %></h2>\r\n <p>You can <a href=\"/<%= @adm1.slug %>\">browser <%= @adm1.name %> Yoga</a> by:</p>\r\n \r\n <%= erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent %> \t\r\n\r\n</div>\r\n\r\n", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe91d098bf8 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_breadcrump(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\r\n'.freeze; if !@adm2s_of_adm1.blank? \r\n @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by Region, Province</h2> \r\n\r\n\t<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze;\t @adm2s_of_adm1.each do |adm2| \r\n @_out_buf << ' '.freeze; @_out_buf << ( link_to_ad(adm2) ).to_s;\t end \r\n @_out_buf << '\t</div>\r\n\r\n'.freeze; elsif !@pps_of_adm1.blank? \r\n @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by City, Town</h2> \r\n\r\n\t<div class=\"field is-grouped is-grouped-multiline\">\r\n\r\n'.freeze;\t @pps_of_adm1.each do |pp| \r\n @_out_buf << ' '.freeze; @_out_buf << ( link_to_ad(pp) ).to_s;\t end \r\n @_out_buf << '\r\n\t</div>\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @adm1.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>\r\n\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_breadcrump(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\r\n'.freeze; if !@adm2s_of_adm1.blank? \r\n @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by Region, Province</h2> \r\n\r\n\t<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze;\t @adm2s_of_adm1.each do |adm2| \r\n @_out_buf << ' '.freeze; @_out_buf << ( link_to_ad(adm2) ).to_s;\t end \r\n @_out_buf << '\t</div>\r\n\r\n'.freeze; elsif !@pps_of_adm1.blank? \r\n @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by City, Town</h2> \r\n\r\n\t<div class=\"field is-grouped is-grouped-multiline\">\r\n\r\n'.freeze;\t @pps_of_adm1.each do |pp| \r\n @_out_buf << ' '.freeze; @_out_buf << ( link_to_ad(pp) ).to_s;\t end \r\n @_out_buf << '\r\n\t</div>\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @adm1.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>\r\n\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :parent_tag, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe8de781760 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/parent_tag.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_371180(locals) /home/deploy/yogamela/app/views/parent_tag.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe8de781648 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <ul>\r\n <li><a href='/' title=\"<%= settings.href_titles[:home] %>\">Home</a></li>\r\n <li><a href=\"<%= settings.tags_folder %>\">All Tags</a>\r\n <li class='is-active'><a href=\"\"><%= @tag.name %></a>\r\n </ul>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n <section class=\"hero is-info\">\r\n <div class=\"hero-body\">\r\n <div class=\"container\">\r\n <h1 class=\"title is-size-1\">\r\n <%= @parent_tag.content.h1? ? @parent_tag.content.h1 : @parent_tag.name %> \r\n </h1>\r\n <h2 class=\"subtitle\">\r\n\r\n <%#= @item.city.name %> <%#= @item.state.name %> <%#= @item.country.name %> \r\n\r\n </h2>\r\n </div>\r\n </div>\r\n </section>\r\n<% end %>\r\n\r\n<div class=\"content mt-6\">\r\n\r\n <ul>\r\n <% @parent_tag.children.each do |tag| %>\r\n <li><%= \"<a href='/\#{tag.content.permalink? ? tag.content.permalink : tag.permalink}'>\#{tag.name}</a>\" %> \r\n <% end %>\r\n </ul>\r\n \r\n <!--<h2 class=\"title is-2\">Browser more <%#= @parent_tag.name %></h2>-->\r\n <%#= @items.size %>\r\n <%#= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n</div>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe8de7813c8 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n <li><a href=\"'.freeze; @_out_buf << ( settings.tags_folder ).to_s; @_out_buf << '\">All Tags</a>\r\n <li class=\\'is-active\\'><a href=\"\">'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '</a>\r\n </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << ' <section class=\"hero is-info\">\r\n <div class=\"hero-body\">\r\n <div class=\"container\">\r\n <h1 class=\"title is-size-1\">\r\n '.freeze; @_out_buf << ( @parent_tag.content.h1? ? @parent_tag.content.h1 : @parent_tag.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </h1>\r\n <h2 class=\"subtitle\">\r\n\r\n'.freeze; @_out_buf << ' '.freeze;; @_out_buf << ' '.freeze;; @_out_buf << ' '.freeze;\n @_out_buf << ' \r\n'.freeze; @_out_buf << '\r\n </h2>\r\n </div>\r\n </div>\r\n </section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n <ul>\r\n'.freeze; @parent_tag.children.each do |tag| \r\n @_out_buf << ' <li>'.freeze; @_out_buf << ( \"<a href='/\#{tag.content.permalink? ? tag.content.permalink : tag.permalink}'>\#{tag.name}</a>\" ).to_s; @_out_buf << ' \r\n'.freeze; end \r\n @_out_buf << ' </ul>\r\n \r\n <!--<h2 class=\"title is-2\">Browser more '.freeze;; @_out_buf << '</h2>-->\r\n'.freeze;\n\n @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n <li><a href=\"'.freeze; @_out_buf << ( settings.tags_folder ).to_s; @_out_buf << '\">All Tags</a>\r\n <li class=\\'is-active\\'><a href=\"\">'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '</a>\r\n </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << ' <section class=\"hero is-info\">\r\n <div class=\"hero-body\">\r\n <div class=\"container\">\r\n <h1 class=\"title is-size-1\">\r\n '.freeze; @_out_buf << ( @parent_tag.content.h1? ? @parent_tag.content.h1 : @parent_tag.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </h1>\r\n <h2 class=\"subtitle\">\r\n\r\n'.freeze; @_out_buf << ' '.freeze;; @_out_buf << ' '.freeze;; @_out_buf << ' '.freeze;\n @_out_buf << ' \r\n'.freeze; @_out_buf << '\r\n </h2>\r\n </div>\r\n </div>\r\n </section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n <ul>\r\n'.freeze; @parent_tag.children.each do |tag| \r\n @_out_buf << ' <li>'.freeze; @_out_buf << ( \"<a href='/\#{tag.content.permalink? ? tag.content.permalink : tag.permalink}'>\#{tag.name}</a>\" ).to_s; @_out_buf << ' \r\n'.freeze; end \r\n @_out_buf << ' </ul>\r\n \r\n <!--<h2 class=\"title is-2\">Browser more '.freeze;; @_out_buf << '</h2>-->\r\n'.freeze;\n\n @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:builder, :"feeds/ad.rss", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::BuilderTemplate:0x00007fe907bcaa78 @options={:outvar=>"@_out_buf", :indent=>2}, @line=1, @file="/home/deploy/yogamela/app/views/feeds/ad.rss.builder", @compiled_method={[RoutesController, [:xml]]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_678220(locals) /home/deploy/yogamela/app/views/feeds/ad.rss.builder:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe907bca758 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="require 'builder'\r\n\r\npubdate = @items.map{|item| item.updated_at}.sort.last\r\n\r\n\r\nxml = Builder::XmlMarkup.new\r\n\r\nxml.instruct! :xml, :version => \"1.0\"\r\nxml.rss :version => \"2.0\" do\r\n xml.channel do\r\n xml.title \"\#{settings.rss_ad_channel_title} \#{@ad.name}\"\r\n xml.link \"https://\#{settings.domain}/\#{@ad.slug}\"\r\n xml.description \"\#{settings.rss_ad_channel_description} \#{@ad.name}\" \#@page.meta_description #\"\#{settings.domain} news and updates\"\r\n xml.lastBuildDate pubdate\r\n\r\n @items.each do |page|\r\n xml.item do\r\n xml.title \"\#{page.name} - \#{page&.pp&.name}, \#{page&.adm1&.name}, \#{page&.country&.name}\"\r\n # xml.description #page.meta_description\r\n xml.link \"https://\#{settings.domain}\#{settings.items_folder}/\#{page.permalink}\"\r\n xml.pubDate page.updated_at\r\n end\r\n end\r\n\r\n @ad_children.each do |page|\r\n xml.item do\r\n xml.title \"\#{settings.rss_ad_item_title} \#{page.name}\" \r\n # xml.description # page.meta_description\r\n xml.link \"https://\#{settings.domain}/\#{page.slug}\"\r\n # xml.pubDate page.updated_at\r\n end\r\n end\r\n\r\n\r\n\r\n\r\n end\r\nend">, [:erb, :adm2_tag, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe90b685000 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/adm2_tag.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_777740(locals) /home/deploy/yogamela/app/views/adm2_tag.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe90b684d08 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <%= ad_tag_breadcrumb(params) %>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t <%= @tag.name %> in <%= @adm1.name %>\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--<%= @tag.name %> in --><%= @adm1.name %>, <%= @country.name %> \r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n<% end %>\r\n\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering <%= @tag.name %>\r\n\r\n\t<%= paginate(@items) %><%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in <%= @adm1.name %></h2>\r\n <p>You can <a href=\"/<%= @adm1.slug %>\">browser <%= @adm1.name %> Yoga</a> by:</p>\r\n \r\n <%= erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent %> \t\r\n\r\n</div>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe90b684bc8 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_tag_breadcrumb(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in -->'.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @adm1.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_tag_breadcrumb(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <!--'.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << ' in -->'.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers offering '.freeze; @_out_buf << ( @tag.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @adm1.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :adm2, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe93737a050 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/adm2.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_869980(locals) /home/deploy/yogamela/app/views/adm2.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe937379c68 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <%= ad_breadcrump(params) %>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in <%= @adm1.name %>\r\n\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t <%= @adm1.name %>, <%= @country.name %> \r\n\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n<% end %>\r\n\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in <%= @adm2.name %>\r\n\r\n\t<%= paginate(@items) %><%= erb :'/partials/_items', :locals => {:items => @items} if @items %>\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by City, Town</h2> \r\n\t\t<div class=\"field is-grouped is-grouped-multiline\">\r\n\t <%- @pps_of_adm2.each do |adm2| -%>\r\n\t <%= link_to_ad(adm2) -%>\r\n\t\t <%- end -%>\r\n\t\t</div>\r\n\r\n\r\n\t</div>\r\n\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in <%= @adm2.name %></h2>\r\n <p>You can <a href=\"/<%= @adm1.slug %>\">browser <%= @adm2.name %> Yoga</a> by:</p>\r\n \r\n <%= erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent %> \t\r\n\r\n</div>\r\n\r\n", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe90a24ee38 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_breadcrump(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in '.freeze; @_out_buf << ( @adm2.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by City, Town</h2> \r\n\t\t<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze;\t @pps_of_adm2.each do |adm2| \r\n @_out_buf << '\t '.freeze; @_out_buf << ( link_to_ad(adm2) ).to_s;\t\t end \r\n @_out_buf << '\t\t</div>\r\n\r\n\r\n\t</div>\r\n\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @adm2.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @adm1.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @adm2.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>\r\n\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' '.freeze; @_out_buf << ( ad_breadcrump(params) ).to_s; @_out_buf << '\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << '\t<section class=\"hero is-info\">\r\n\t<div class=\"hero-body\">\r\n\t <div class=\"container\">\r\n\t <h1 class=\"title is-size-1\">\r\n\t Yoga in '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\t </h1>\r\n\t <h2 class=\"subtitle\">\r\n\t '.freeze; @_out_buf << ( @adm1.name ).to_s; @_out_buf << ', '.freeze; @_out_buf << ( @country.name ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << '\t </h2>\r\n\t </div>\r\n\t</div>\r\n\t</section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n\t<p class=\"\">We list Yoga Classes, Studios and Yoga teachers in '.freeze; @_out_buf << ( @adm2.name ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t'.freeze; @_out_buf << ( paginate(@items) ).to_s; @_out_buf << ( erb :'/partials/_items', :locals => {:items => @items} if @items ).to_s; @_out_buf << '\r\n'.freeze; @_out_buf << '\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Browser by City, Town</h2> \r\n\t\t<div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze;\t @pps_of_adm2.each do |adm2| \r\n @_out_buf << '\t '.freeze; @_out_buf << ( link_to_ad(adm2) ).to_s;\t\t end \r\n @_out_buf << '\t\t</div>\r\n\r\n\r\n\t</div>\r\n\r\n\r\n\t<h2 class=\"title is-size-3 has-text-grey\">Yoga Classes in '.freeze; @_out_buf << ( @adm2.name ).to_s; @_out_buf << '</h2>\r\n <p>You can <a href=\"/'.freeze; @_out_buf << ( @adm1.slug ).to_s; @_out_buf << '\">browser '.freeze; @_out_buf << ( @adm2.name ).to_s; @_out_buf << ' Yoga</a> by:</p>\r\n \r\n '.freeze; @_out_buf << ( erb :'/partials/_tags_by_parent_dl', :locals => {:tags_by_parent => @items_tags_by_parent} if @items_tags_by_parent ).to_s; @_out_buf << ' \t\r\n'.freeze; @_out_buf << '\r\n</div>\r\n\r\n'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">, [:erb, :tags, {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "/home/deploy/yogamela/app/views"]=>#<Tilt::ErubiTemplate:0x00007fe8f4939a10 @options={:outvar=>"@_out_buf", :preamble=>false, :postamble=>false, :ensure=>true}, @line=1, @file="/home/deploy/yogamela/app/views/tags.erb", @compiled_method={[RoutesController, []]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_5519080(locals) /home/deploy/yogamela/app/views/tags.erb:-2>}, @default_encoding="utf-8", @reader=#<Proc:0x00007fe8f49398d0 /home/deploy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/tilt-2.1.0/lib/tilt/template.rb:85 (lambda)>, @data="<% content_for :breadcrumb do %>\r\n <ul>\r\n <li><a href='/' title=\"<%= settings.href_titles[:home] %>\">Home</a></li>\r\n <li class='is-active'><a href=\"\">All Tags</a>\r\n </ul>\r\n<% end %>\r\n\r\n<% content_for :hero do %>\r\n <section class=\"hero is-info\">\r\n <div class=\"hero-body\">\r\n <div class=\"container\">\r\n <h1 class=\"title is-size-1\">\r\n All Yoga Classes \r\n </h1>\r\n <h2 class=\"subtitle\">\r\n\r\n by type, style and age group\r\n\r\n </h2>\r\n </div>\r\n </div>\r\n </section>\r\n<% end %>\r\n\r\n<div class=\"content mt-6\">\r\n\r\n <% @parenttags.where.not(id: [73, 76]).each do |parenttag| %>\r\n <h3 class=\"title is-3 mt-5\"><a href=\"/<%= parenttag.content.permalink? ? parenttag.content.permalink : parenttag.permalink %>\"><%= parenttag.name %></a></h3>\r\n\r\n <div class=\"field is-grouped is-grouped-multiline\">\r\n <% parenttag.children.each do |tag| %>\r\n <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n <%= \"<a href='/\#{tag.content.permalink? ? tag.content.permalink : tag.permalink}' title = '\#{tag.items.listed.size} \#{tag.name} classes and studios'>\#{tag.name}</a>\" %> \r\n </span> \r\n <span class=\"tag is-primary\">\r\n <%= tag.items.listed.size -%> \r\n </span>\r\n </div>\r\n </div>\r\n <%- end -%>\r\n </div>\r\n\r\n<%- end -%>\r\n\r\n</div>", @freeze_string_literals=false, @engine=#<Erubi::Engine:0x00007fe8f4939808 @escape=false, @filename=nil, @bufvar="@_out_buf", @chain_appends=nil, @text_end="'.freeze", @buffer_on_stack=false, @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n <li class=\\'is-active\\'><a href=\"\">All Tags</a>\r\n </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << ' <section class=\"hero is-info\">\r\n <div class=\"hero-body\">\r\n <div class=\"container\">\r\n <h1 class=\"title is-size-1\">\r\n All Yoga Classes \r\n </h1>\r\n <h2 class=\"subtitle\">\r\n\r\n by type, style and age group\r\n\r\n </h2>\r\n </div>\r\n </div>\r\n </section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n'.freeze; @parenttags.where.not(id: [73, 76]).each do |parenttag| \r\n @_out_buf << ' <h3 class=\"title is-3 mt-5\"><a href=\"/'.freeze; @_out_buf << ( parenttag.content.permalink? ? parenttag.content.permalink : parenttag.permalink ).to_s; @_out_buf << '\">'.freeze; @_out_buf << ( parenttag.name ).to_s; @_out_buf << '</a></h3>\r\n\r\n <div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze; parenttag.children.each do |tag| \r\n @_out_buf << ' <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n '.freeze; @_out_buf << ( \"<a href='/\#{tag.content.permalink? ? tag.content.permalink : tag.permalink}' title = '\#{tag.items.listed.size} \#{tag.name} classes and studios'>\#{tag.name}</a>\" ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </span> \r\n <span class=\"tag is-primary\">\r\n '.freeze; @_out_buf << ( tag.items.listed.size ).to_s; @_out_buf << ' </span>\r\n </div>\r\n </div>\r\n'.freeze; end \r\n @_out_buf << ' </div>\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n", @escapefunc="::Erubi.h">, @outvar="@_out_buf", @src="begin; __original_outvar = @_out_buf if defined?(@_out_buf); @_out_buf = ::String.new; content_for :breadcrumb do \r\n @_out_buf << ' <ul>\r\n <li><a href=\\'/\\' title=\"'.freeze; @_out_buf << ( settings.href_titles[:home] ).to_s; @_out_buf << '\">Home</a></li>\r\n <li class=\\'is-active\\'><a href=\"\">All Tags</a>\r\n </ul>\r\n'.freeze; end \r\n @_out_buf << '\r\n'.freeze; content_for :hero do \r\n @_out_buf << ' <section class=\"hero is-info\">\r\n <div class=\"hero-body\">\r\n <div class=\"container\">\r\n <h1 class=\"title is-size-1\">\r\n All Yoga Classes \r\n </h1>\r\n <h2 class=\"subtitle\">\r\n\r\n by type, style and age group\r\n\r\n </h2>\r\n </div>\r\n </div>\r\n </section>\r\n'.freeze; end \r\n @_out_buf << '\r\n<div class=\"content mt-6\">\r\n\r\n'.freeze; @parenttags.where.not(id: [73, 76]).each do |parenttag| \r\n @_out_buf << ' <h3 class=\"title is-3 mt-5\"><a href=\"/'.freeze; @_out_buf << ( parenttag.content.permalink? ? parenttag.content.permalink : parenttag.permalink ).to_s; @_out_buf << '\">'.freeze; @_out_buf << ( parenttag.name ).to_s; @_out_buf << '</a></h3>\r\n\r\n <div class=\"field is-grouped is-grouped-multiline\">\r\n'.freeze; parenttag.children.each do |tag| \r\n @_out_buf << ' <div class=\"control\">\r\n <div class=\"tags has-addons\">\r\n <span class=\"tag\">\r\n '.freeze; @_out_buf << ( \"<a href='/\#{tag.content.permalink? ? tag.content.permalink : tag.permalink}' title = '\#{tag.items.listed.size} \#{tag.name} classes and studios'>\#{tag.name}</a>\" ).to_s; @_out_buf << ' \r\n'.freeze; @_out_buf << ' </span> \r\n <span class=\"tag is-primary\">\r\n '.freeze; @_out_buf << ( tag.items.listed.size ).to_s; @_out_buf << ' </span>\r\n </div>\r\n </div>\r\n'.freeze; end \r\n @_out_buf << ' </div>\r\n\r\n'.freeze; end \r\n @_out_buf << '\r\n</div>'.freeze;\n@_out_buf.to_s\n; ensure\n @_out_buf = __original_outvar\nend\n">}>, @pinned_response=nil>, @opts={:sweep=>true}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml", "text/xml", "application/xml"], :xss_mode=>:block, :nosniff=>true, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>false}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml", "text/xml", "application/xml"], :tracking_key=>:tracking, :track=>["HTTP_USER_AGENT"], :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>false}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml", "text/xml", "application/xml"], :authenticity_param=>"authenticity_token", :key=>:csrf, :allow_if=>nil, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>false}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml", "text/xml", "application/xml"], :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>false}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml", "text/xml", "application/xml"], :allow_if=>nil, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>false}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml", "text/xml", "application/xml"], :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>false}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml", "text/xml", "application/xml"], :allow_if=>nil, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>false}>, @options={:reaction=>:drop_session, :logging=>true, :message=>"Forbidden", :encryptor=>Digest::SHA1, :session_key=>"rack.session", :status=>403, :allow_empty_referrer=>true, :report_key=>"protection.failed", :html_types=>["text/html", "application/xhtml", "text/xml", "application/xml"], :frame_options=>:sameorigin, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>false}, @frame_options="SAMEORIGIN">, @default_options={:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :sidbits=>128, :secure_random=>SecureRandom, :secret=>"53ddcbc0b9f2396f3067ff21b490ddc56ec0fbbf18a2280a6bcdd4c4745700842ed3fb43eaf7a249dc1dc31daf7953f934030d425a9fe720ca32751225eb6950", :coder=>#<Rack::Protection::EncryptedCookie::Marshal:0x00005584012534a8>}, @key="rack.session", @cookie_only=true, @same_site=nil, @sidbits=128, @sid_secure=SecureRandom, @sid_length=32>> |
rack.multiprocess | false |
rack.multithread | true |
rack.request.cookie_hash | {} |
rack.request.query_hash | {} |
rack.request.query_string | |
rack.run_once | false |
rack.session | {"session_id"=>"493ae2bd71c7779c6705949afd6c4c37eecb17c33246962c28ebaa123f7c5fde", "csrf"=>"4RIo8g1FLXrlJu62-OHfPbUGH17Vz-2hUv7pkyN9apQ=", "tracking"=>{"HTTP_USER_AGENT"=>"claudebot"}, "__FLASH__"=>{}} |
rack.session.options | {:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :sidbits=>128, :secure_random=>SecureRandom, :secret=>"53ddcbc0b9f2396f3067ff21b490ddc56ec0fbbf18a2280a6bcdd4c4745700842ed3fb43eaf7a249dc1dc31daf7953f934030d425a9fe720ca32751225eb6950", :coder=>#<Rack::Protection::EncryptedCookie::Marshal:0x00005584012534a8>} |
rack.session.unpacked_cookie_data | {"session_id"=>"493ae2bd71c7779c6705949afd6c4c37eecb17c33246962c28ebaa123f7c5fde"} |
rack.url_scheme | https |
rack.version | [1, 6] |
sinatra.accept | [#<Sinatra::Request::AcceptEntry:0x00007fe8c31ae3a8 @entry="*/*", @type="*/*", @params={}, @q=1.0>] |
sinatra.error | #<ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use> |
sinatra.error.params | {} |
sinatra.route | GET / |
x-rack.flash | #<FlashHash @values={} @cache={}> |
You're seeing this error because you have
enabled the show_exceptions
setting.