metadata_helper.rb
dig
/Users/david/Sites/aac_browse_app/lib/aac/helpers/metadata_helper.rb
in
dig
case obj["type"]
when "ManMadeObject"
str = get_object_title(obj)
creator = if opts.fetch(:skip_person_name, false)
nil
else
pull_field(obj.dig("produced_by", "carried_out_by"), only_first: true)
end
date = pull_field(obj.dig("produced_by", "timespan"))
if creator || date
substr = [creator,date].compact.join(", ")
str += " <span class='tombstone_artist'>(#{substr})</span>"
end
str
/Users/david/Sites/aac_browse_app/lib/aac/helpers/metadata_helper.rb
in
entity_label
case obj["type"]
when "ManMadeObject"
str = get_object_title(obj)
creator = if opts.fetch(:skip_person_name, false)
nil
else
pull_field(obj.dig("produced_by", "carried_out_by"), only_first: true)
end
date = pull_field(obj.dig("produced_by", "timespan"))
if creator || date
substr = [creator,date].compact.join(", ")
str += " <span class='tombstone_artist'>(#{substr})</span>"
end
str
source/toyboxes/item_preview.haml
in
block in singleton class
- uri = settings.redis.get("aac:reverse_lookup:#{id}")
- obj = JSON.parse(settings.redis.get("aac:uri:#{uri}"))["@graph"][0] rescue nil
- if obj
.item_preview
= display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)
-else
.item_preview
= display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb
in
call
#
# This method is only used by source generating templates. Subclasses that
# override render() may not support all features.
def evaluate(scope, locals, &block)
locals_keys = locals.keys
locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
method = compiled_method(locals_keys)
method.bind(scope).call(locals, &block)
end
# Generates all template source by combining the preamble, template, and
# postamble and returns a two-tuple of the form: [source, offset], where
# source is the string containing (Ruby) source code for the template and
# offset is the integer line offset where line reporting should begin.
#
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb
in
evaluate
#
# This method is only used by source generating templates. Subclasses that
# override render() may not support all features.
def evaluate(scope, locals, &block)
locals_keys = locals.keys
locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
method = compiled_method(locals_keys)
method.bind(scope).call(locals, &block)
end
# Generates all template source by combining the preamble, template, and
# postamble and returns a two-tuple of the form: [source, offset], where
# source is the string containing (Ruby) source code for the template and
# offset is the integer line offset where line reporting should begin.
#
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/haml.rb
in
evaluate
end
@engine = ::Haml::TempleEngine.new(options)
@engine.compile(data)
end
def evaluate(scope, locals, &block)
raise ArgumentError, 'invalid scope: must not be frozen' if scope.frozen?
super
end
def precompiled_template(locals)
@engine.precompiled_with_ambles(
[],
after_preamble: <<-RUBY
__in_erb_template = true
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb
in
render
# Render the template in the given scope with the locals specified. If a
# block is given, it is typically available within the template via
# +yield+.
def render(scope=nil, locals={}, &block)
scope ||= Object.new
current_template = Thread.current[:tilt_current_template]
Thread.current[:tilt_current_template] = self
evaluate(scope, locals || {}, &block)
ensure
Thread.current[:tilt_current_template] = current_template
end
# The basename of the template file.
def basename(suffix='')
File.basename(file, suffix) if file
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
render
options[:default_encoding] ||= settings.default_encoding
# compile and render template
begin
layout_was = @default_layout
@default_layout = false
template = compile_template(engine, data, options, views)
output = template.render(scope, locals, &block)
ensure
@default_layout = layout_was
end
# render layout
if layout
options = options.merge(:views => views, :layout => false, :eat_errors => eat_errors, :scope => scope).
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb
in
block in render
ensure
@current_engine = engine_was
end
private
def render(engine, *)
with_engine(engine) { super }
end
end
helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb
in
with_engine
@current_engine = :ruby
super
end
# @param engine [Symbol, String] Name of Engine to shift to.
def with_engine(engine)
@current_engine, engine_was = engine.to_sym, @current_engine
yield
ensure
@current_engine = engine_was
end
private
def render(engine, *)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb
in
render
ensure
@current_engine = engine_was
end
private
def render(engine, *)
with_engine(engine) { super }
end
end
helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
haml
def erubis(template, options = {}, locals = {})
warn "Sinatra::Templates#erubis is deprecated and will be removed, use #erb instead.\n" \
"If you have Erubis installed, it will be used automatically."
render :erubis, template, options, locals
end
def haml(template, options = {}, locals = {}, &block)
render(:haml, template, options, locals, &block)
end
def sass(template, options = {}, locals = {})
options.merge! :layout => false, :default_content_type => :css
render :sass, template, options, locals
end
source/toyboxes/work_grid.haml
in
block (3 levels) in singleton class
.container
.row
.col
%h3 Objects at #{owner} (#{owners_works.count})
.row
- owners_works.each do |item|
.col-2
= haml "toyboxes/item_preview".to_sym, layout: false, locals: {id: item["id"]}
source/toyboxes/work_grid.haml
in
each
- split_works.each do |owner, owners_works|
%section.container-fluid.toybox.featured_items
.container
.row
.col
%h3 Objects at #{owner} (#{owners_works.count})
.row
- owners_works.each do |item|
.col-2
= haml "toyboxes/item_preview".to_sym, layout: false, locals: {id: item["id"]}
source/toyboxes/work_grid.haml
in
block (2 levels) in singleton class
- split_works.each do |owner, owners_works|
%section.container-fluid.toybox.featured_items
.container
.row
.col
%h3 Objects at #{owner} (#{owners_works.count})
.row
- owners_works.each do |item|
.col-2
= haml "toyboxes/item_preview".to_sym, layout: false, locals: {id: item["id"]}
source/toyboxes/work_grid.haml
in
each
- split_works = split_by_owner(works)
- split_works.each do |owner, owners_works|
%section.container-fluid.toybox.featured_items
.container
.row
.col
%h3 Objects at #{owner} (#{owners_works.count})
.row
- owners_works.each do |item|
source/toyboxes/work_grid.haml
in
block in singleton class
- split_works = split_by_owner(works)
- split_works.each do |owner, owners_works|
%section.container-fluid.toybox.featured_items
.container
.row
.col
%h3 Objects at #{owner} (#{owners_works.count})
.row
- owners_works.each do |item|
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb
in
call
#
# This method is only used by source generating templates. Subclasses that
# override render() may not support all features.
def evaluate(scope, locals, &block)
locals_keys = locals.keys
locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
method = compiled_method(locals_keys)
method.bind(scope).call(locals, &block)
end
# Generates all template source by combining the preamble, template, and
# postamble and returns a two-tuple of the form: [source, offset], where
# source is the string containing (Ruby) source code for the template and
# offset is the integer line offset where line reporting should begin.
#
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb
in
evaluate
#
# This method is only used by source generating templates. Subclasses that
# override render() may not support all features.
def evaluate(scope, locals, &block)
locals_keys = locals.keys
locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
method = compiled_method(locals_keys)
method.bind(scope).call(locals, &block)
end
# Generates all template source by combining the preamble, template, and
# postamble and returns a two-tuple of the form: [source, offset], where
# source is the string containing (Ruby) source code for the template and
# offset is the integer line offset where line reporting should begin.
#
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/haml.rb
in
evaluate
end
@engine = ::Haml::TempleEngine.new(options)
@engine.compile(data)
end
def evaluate(scope, locals, &block)
raise ArgumentError, 'invalid scope: must not be frozen' if scope.frozen?
super
end
def precompiled_template(locals)
@engine.precompiled_with_ambles(
[],
after_preamble: <<-RUBY
__in_erb_template = true
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb
in
render
# Render the template in the given scope with the locals specified. If a
# block is given, it is typically available within the template via
# +yield+.
def render(scope=nil, locals={}, &block)
scope ||= Object.new
current_template = Thread.current[:tilt_current_template]
Thread.current[:tilt_current_template] = self
evaluate(scope, locals || {}, &block)
ensure
Thread.current[:tilt_current_template] = current_template
end
# The basename of the template file.
def basename(suffix='')
File.basename(file, suffix) if file
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
render
options[:default_encoding] ||= settings.default_encoding
# compile and render template
begin
layout_was = @default_layout
@default_layout = false
template = compile_template(engine, data, options, views)
output = template.render(scope, locals, &block)
ensure
@default_layout = layout_was
end
# render layout
if layout
options = options.merge(:views => views, :layout => false, :eat_errors => eat_errors, :scope => scope).
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb
in
block in render
ensure
@current_engine = engine_was
end
private
def render(engine, *)
with_engine(engine) { super }
end
end
helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb
in
with_engine
@current_engine = :ruby
super
end
# @param engine [Symbol, String] Name of Engine to shift to.
def with_engine(engine)
@current_engine, engine_was = engine.to_sym, @current_engine
yield
ensure
@current_engine = engine_was
end
private
def render(engine, *)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb
in
render
ensure
@current_engine = engine_was
end
private
def render(engine, *)
with_engine(engine) { super }
end
end
helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
haml
def erubis(template, options = {}, locals = {})
warn "Sinatra::Templates#erubis is deprecated and will be removed, use #erb instead.\n" \
"If you have Erubis installed, it will be used automatically."
render :erubis, template, options, locals
end
def haml(template, options = {}, locals = {}, &block)
render(:haml, template, options, locals, &block)
end
def sass(template, options = {}, locals = {})
options.merge! :layout => false, :default_content_type => :css
render :sass, template, options, locals
end
source/templates/actor.html.haml
in
block in singleton class
%h3="Selected Images of #{get_actor_name(obj)}"
.row.align-items-center
- [obj["depicted_by"]].flatten(1).first(6).each do |item|
.col-2
= haml "toyboxes/item_preview".to_sym, layout: false, locals: {id: item["id"]}
- if obj["toybox:created_by"]
= haml "toyboxes/work_grid".to_sym, layout: false, locals: {works: obj["toybox:created_by"], title: "Objects Created by #{obj["label"].first}"}
- if obj["toybox:featured_items"]
%section.container-fluid.toybox.featured_items
.container
.row
.col
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb
in
call
#
# This method is only used by source generating templates. Subclasses that
# override render() may not support all features.
def evaluate(scope, locals, &block)
locals_keys = locals.keys
locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
method = compiled_method(locals_keys)
method.bind(scope).call(locals, &block)
end
# Generates all template source by combining the preamble, template, and
# postamble and returns a two-tuple of the form: [source, offset], where
# source is the string containing (Ruby) source code for the template and
# offset is the integer line offset where line reporting should begin.
#
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb
in
evaluate
#
# This method is only used by source generating templates. Subclasses that
# override render() may not support all features.
def evaluate(scope, locals, &block)
locals_keys = locals.keys
locals_keys.sort!{|x, y| x.to_s <=> y.to_s}
method = compiled_method(locals_keys)
method.bind(scope).call(locals, &block)
end
# Generates all template source by combining the preamble, template, and
# postamble and returns a two-tuple of the form: [source, offset], where
# source is the string containing (Ruby) source code for the template and
# offset is the integer line offset where line reporting should begin.
#
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/haml.rb
in
evaluate
end
@engine = ::Haml::TempleEngine.new(options)
@engine.compile(data)
end
def evaluate(scope, locals, &block)
raise ArgumentError, 'invalid scope: must not be frozen' if scope.frozen?
super
end
def precompiled_template(locals)
@engine.precompiled_with_ambles(
[],
after_preamble: <<-RUBY
__in_erb_template = true
/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb
in
render
# Render the template in the given scope with the locals specified. If a
# block is given, it is typically available within the template via
# +yield+.
def render(scope=nil, locals={}, &block)
scope ||= Object.new
current_template = Thread.current[:tilt_current_template]
Thread.current[:tilt_current_template] = self
evaluate(scope, locals || {}, &block)
ensure
Thread.current[:tilt_current_template] = current_template
end
# The basename of the template file.
def basename(suffix='')
File.basename(file, suffix) if file
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
render
options[:default_encoding] ||= settings.default_encoding
# compile and render template
begin
layout_was = @default_layout
@default_layout = false
template = compile_template(engine, data, options, views)
output = template.render(scope, locals, &block)
ensure
@default_layout = layout_was
end
# render layout
if layout
options = options.merge(:views => views, :layout => false, :eat_errors => eat_errors, :scope => scope).
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb
in
block in render
ensure
@current_engine = engine_was
end
private
def render(engine, *)
with_engine(engine) { super }
end
end
helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb
in
with_engine
@current_engine = :ruby
super
end
# @param engine [Symbol, String] Name of Engine to shift to.
def with_engine(engine)
@current_engine, engine_was = engine.to_sym, @current_engine
yield
ensure
@current_engine = engine_was
end
private
def render(engine, *)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-contrib-2.0.1/lib/sinatra/engine_tracking.rb
in
render
ensure
@current_engine = engine_was
end
private
def render(engine, *)
with_engine(engine) { super }
end
end
helpers EngineTracking
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
haml
def erubis(template, options = {}, locals = {})
warn "Sinatra::Templates#erubis is deprecated and will be removed, use #erb instead.\n" \
"If you have Erubis installed, it will be used automatically."
render :erubis, template, options, locals
end
def haml(template, options = {}, locals = {}, &block)
render(:haml, template, options, locals, &block)
end
def sass(template, options = {}, locals = {})
options.merge! :layout => false, :default_content_type => :css
render :sass, template, options, locals
end
/Users/david/Sites/aac_browse_app/source/app.rb
in
block in <class:AmericanArtCollaborativeSite>
when "html", nil
raw_data = JSON.parse(file)
data = raw_data["@graph"].first
@context = raw_data["@context"]
case data["type"]
when "Actor", ["LegalBody", "Actor"], ["Actor", "LegalBody"], ["Person", "Actor"], ["Actor", "Person"]
haml :"templates/actor.html", locals: {obj: data}
when "ManMadeObject"
haml :"templates/object.html", locals: {obj: data}
else
"Haven't written a parser for #{data["type"]} yet. #{data}"
end
else
params[:captures].inspect
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
call
options.each_pair { |option, args| send(option, *args) }
pattern = compile(path, route_mustermann_opts)
method_name = "#{verb} #{path}"
unbound_method = generate_method(method_name, &block)
conditions, @conditions = @conditions, []
wrapper = block.arity != 0 ?
proc { |a, p| unbound_method.bind(a).call(*p) } :
proc { |a, p| unbound_method.bind(a).call }
[ pattern, conditions, wrapper ]
end
def compile(path, route_mustermann_opts = {})
Mustermann.new(path, mustermann_opts.merge(route_mustermann_opts))
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
block in compile!
options.each_pair { |option, args| send(option, *args) }
pattern = compile(path, route_mustermann_opts)
method_name = "#{verb} #{path}"
unbound_method = generate_method(method_name, &block)
conditions, @conditions = @conditions, []
wrapper = block.arity != 0 ?
proc { |a, p| unbound_method.bind(a).call(*p) } :
proc { |a, p| unbound_method.bind(a).call }
[ pattern, conditions, wrapper ]
end
def compile(path, route_mustermann_opts = {})
Mustermann.new(path, mustermann_opts.merge(route_mustermann_opts))
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
block (3 levels) in route!
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, conditions, block|
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
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/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.
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
block (2 levels) in route!
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, conditions, block|
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
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
block in process_route
@params[:captures] = captures
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
@env['sinatra.error.params'] = @params
raise
ensure
@params = original if original
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
catch
captures = pattern.match(route).captures
values += captures
@params[:captures] = captures
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
@env['sinatra.error.params'] = @params
raise
ensure
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
process_route
captures = pattern.match(route).captures
values += captures
@params[:captures] = captures
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
@env['sinatra.error.params'] = @params
raise
ensure
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
block in route!
base.filters[type].each { |args| process_route(*args) }
end
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, conditions, block|
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
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
each
filter! type, base.superclass if base.superclass.respond_to?(:filters)
base.filters[type].each { |args| process_route(*args) }
end
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, conditions, block|
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
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
route!
filter! type, base.superclass if base.superclass.respond_to?(:filters)
base.filters[type].each { |args| process_route(*args) }
end
# Run routes defined on the class and all superclasses.
def route!(base = settings, pass_block = nil)
if routes = base.routes[@request.request_method]
routes.each do |pattern, conditions, block|
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
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
block in dispatch!
# Dispatch a request with error handling.
def dispatch!
force_encoding(@params.merge!(@request.params))
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before
route!
end
rescue ::Exception => boom
invoke { handle_exception!(boom) }
ensure
begin
filter! :after unless env['sinatra.static_file']
rescue ::Exception => boom
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
block 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
res = catch(:halt) { yield }
res = [res] if Integer === res or String === res
if Array === res and Integer === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/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
res = catch(:halt) { yield }
res = [res] if Integer === res or String === res
if Array === res and Integer === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/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
res = catch(:halt) { yield }
res = [res] if Integer === res or String === res
if Array === res and Integer === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
dispatch!
nil # avoid double setting the same response tuple twice
end
# Dispatch a request with error handling.
def dispatch!
force_encoding(@params.merge!(@request.params))
invoke do
static! if settings.static? && (request.get? || request.head?)
filter! :before
route!
end
rescue ::Exception => boom
invoke { handle_exception!(boom) }
ensure
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
block in call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
template_cache.clear if settings.reload_templates
@response['Content-Type'] = nil
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body and body[0].respond_to? :content_type
content_type body[0].content_type
else
content_type :html
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
block 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
res = catch(:halt) { yield }
res = [res] if Integer === res or String === res
if Array === res and Integer === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/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
res = catch(:halt) { yield }
res = [res] if Integer === res or String === res
if Array === res and Integer === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/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
res = catch(:halt) { yield }
res = [res] if Integer === res or String === res
if Array === res and Integer === res.first
res = res.dup
status(res.shift)
body(res.pop)
headers(*res)
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
call!
@env = env
@params = IndifferentHash.new
@request = Request.new(env)
@response = Response.new
template_cache.clear if settings.reload_templates
@response['Content-Type'] = nil
invoke { dispatch! }
invoke { error_block!(response.status) } unless @env['sinatra.error']
unless @response['Content-Type']
if Array === body and body[0].respond_to? :content_type
content_type body[0].content_type
else
content_type :html
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
call
@app = app
@template_cache = Tilt::Cache.new
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
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/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
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/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)
if path.respond_to?(:encoding)
# Ruby 1.9+ M17N
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/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]
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/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 and result.size == 3
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/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 and result.size == 3
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-protection-2.0.1/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
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-2.0.4/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
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-2.0.4/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
]
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/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)
else
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
call
# Some Rack handlers (Thin, 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, callback = app.call(env), env['async.callback']
return result unless callback and async?(*result)
after_response { callback.call result }
setup_close(env, *result)
throw :async
end
private
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/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
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
block in call
setup_default_middleware builder
setup_middleware builder
builder.run app
builder
end
def call(env)
synchronize { prototype.call(env) }
end
# Like Kernel#caller but excluding certain magic entries and without
# line / method information; the resulting array contains filenames only.
def caller_files
cleaned_caller(1).flatten
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
synchronize
end
@@mutex = Mutex.new
def synchronize(&block)
if lock?
@@mutex.synchronize(&block)
else
yield
end
end
# used for deprecation warnings
def warn(message)
super message + "\n\tfrom #{cleaned_caller.first.join(':')}"
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/sinatra-2.0.1/lib/sinatra/base.rb
in
call
setup_default_middleware builder
setup_middleware builder
builder.run app
builder
end
def call(env)
synchronize { prototype.call(env) }
end
# Like Kernel#caller but excluding certain magic entries and without
# line / method information; the resulting array contains filenames only.
def caller_files
cleaned_caller(1).flatten
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/rack-cors-1.0.2/lib/rack/cors.rb
in
call
end
# This call must be done BEFORE calling the app because for some reason
# env[PATH_INFO] gets changed after that and it won't match. (At least
# in rails 4.1.6)
vary_resource = resource_for_path(env[PATH_INFO])
status, headers, body = @app.call env
if add_headers
headers = add_headers.merge(headers)
debug(env) do
add_headers.each_pair do |key, value|
if headers.has_key?(key)
headers["X-Rack-CORS-Original-#{key}"] = value
/Users/david/.rvm/gems/ruby-2.5.0/gems/puma-3.11.3/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)
/Users/david/.rvm/gems/ruby-2.5.0/gems/puma-3.11.3/lib/puma/server.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.
#
after_reply = env[RACK_AFTER_REPLY] = []
begin
begin
status, headers, res_body = @app.call(env)
return :async if req.hijacked
status = status.to_i
if status == -1
unless headers.empty? and res_body == []
/Users/david/.rvm/gems/ruby-2.5.0/gems/puma-3.11.3/lib/puma/server.rb
in
process_client
def process_client(client, buffer)
begin
clean_thread_locals = @options[:clean_thread_locals]
close_socket = true
while true
case handle_request(client, buffer)
when false
return
when :async
close_socket = false
return
when true
return unless @queue_requests
/Users/david/.rvm/gems/ruby-2.5.0/gems/puma-3.11.3/lib/puma/server.rb
in
block in run
client.close
@events.parse_error self, client.env, e
rescue ConnectionError, EOFError
client.close
else
if process_now
process_client client, buffer
else
client.set_timeout @first_data_timeout
@reactor.add client
end
end
end
/Users/david/.rvm/gems/ruby-2.5.0/gems/puma-3.11.3/lib/puma/thread_pool.rb
in
block in spawn_thread
break unless continue
if @clean_thread_locals
ThreadPool.clean_thread_locals
end
begin
block.call(work, *extra)
rescue Exception => e
STDERR.puts "Error reached top of thread-pool: #{e.message} (#{e.class})"
end
end
mutex.synchronize do
@spawned -= 1
Variable | Value |
---|---|
production | "true" |
No POST data.
Variable | Value |
---|---|
GATEWAY_INTERFACE | CGI/1.2 |
HTTP_ACCEPT | */* |
HTTP_HOST | localhost:5000 |
HTTP_USER_AGENT | Typhoeus - https://github.com/typhoeus/typhoeus |
HTTP_VERSION | HTTP/1.1 |
PATH_INFO | /actor/ulan/500012106.html |
QUERY_STRING | production=true |
REMOTE_ADDR | 127.0.0.1 |
REQUEST_METHOD | GET |
REQUEST_PATH | /actor/ulan/500012106.html |
REQUEST_URI | /actor/ulan/500012106.html?production=true |
SCRIPT_NAME | |
SERVER_NAME | localhost |
SERVER_PORT | 5000 |
SERVER_PROTOCOL | HTTP/1.1 |
SERVER_SOFTWARE | puma 3.11.3 Love Song |
puma.config | #<Puma::Configuration:0x00007f9dfe83b528 @options=#<Puma::UserFileDefaultOptions:0x00007f9dfe83b078 @user_options={:environment=>"development", :logger=>#<Puma::Events:0x00007f9dfe83b780 @formatter=#<Puma::Events::PidFormatter:0x00007f9dfc912e58>, @stdout=#<IO:<STDOUT>>, @stderr=#<IO:<STDERR>>, @debug=false, @hooks={:state=>[]}>}, @file_options={:config_files=>["config/puma.rb"], :workers=>2, :min_threads=>5, :max_threads=>5, :preload_app=>true, :rackup=>"config.ru", :binds=>["tcp://0.0.0.0:5000"], :environment=>"development"}, @default_options={:min_threads=>0, :max_threads=>16, :log_requests=>false, :debug=>false, :binds=>["tcp://0.0.0.0:9292"], :workers=>0, :daemon=>false, :mode=>:http, :worker_timeout=>60, :worker_boot_timeout=>60, :worker_shutdown_timeout=>30, :remote_address=>:socket, :tag=>"aac_browse_app", :environment=>"development", :rackup=>"config.ru", :logger=>#<IO:<STDOUT>>, :persistent_timeout=>20, :first_data_timeout=>30}>, @plugins=#<Puma::PluginLoader:0x00007f9dfe83af10 @instances=[]>, @user_dsl=#<Puma::DSL:0x00007f9dfe83ad58 @config=#<Puma::Configuration:0x00007f9dfe83b528 ...>, @options={:environment=>"development", :logger=>#<Puma::Events:0x00007f9dfe83b780 @formatter=#<Puma::Events::PidFormatter:0x00007f9dfc912e58>, @stdout=#<IO:<STDOUT>>, @stderr=#<IO:<STDERR>>, @debug=false, @hooks={:state=>[]}>}, @plugins=[]>, @file_dsl=#<Puma::DSL:0x00007f9dfe83abf0 @config=#<Puma::Configuration:0x00007f9dfe83b528 ...>, @options={:config_files=>["config/puma.rb"], :workers=>2, :min_threads=>5, :max_threads=>5, :preload_app=>true, :rackup=>"config.ru", :binds=>["tcp://0.0.0.0:5000"], :environment=>"development"}, @plugins=[], @path="config/puma.rb">, @default_dsl=#<Puma::DSL:0x00007f9dfe83ab50 @config=#<Puma::Configuration:0x00007f9dfe83b528 ...>, @options={:min_threads=>0, :max_threads=>16, :log_requests=>false, :debug=>false, :binds=>["tcp://0.0.0.0:9292"], :workers=>0, :daemon=>false, :mode=>:http, :worker_timeout=>60, :worker_boot_timeout=>60, :worker_shutdown_timeout=>30, :remote_address=>:socket, :tag=>"aac_browse_app", :environment=>"development", :rackup=>"config.ru", :logger=>#<IO:<STDOUT>>, :persistent_timeout=>20, :first_data_timeout=>30}, @plugins=[]>> |
puma.socket | #<TCPSocket:fd 14, AF_INET, 127.0.0.1, 5000> |
rack.after_reply | [] |
rack.cors | #<Rack::Cors::Result:0x00007f9dfcedfea8 @preflight=false, @hit=false, @miss_reason="no-origin"> |
rack.errors | #<Object:0x00007f9dfc921e80> |
rack.hijack | #<Puma::Client:0x3fcf01253b94 @ready=true> |
rack.hijack? | true |
rack.input | #<Puma::NullIO:0x00007f9dfd88db30> |
rack.logger | #<Rack::NullLogger:0x00007f9dfe8d1be0 @app=#<Rack::Protection::FrameOptions:0x00007f9dfe8d1fa0 @app=#<Rack::Protection::HttpOrigin:0x00007f9dfe8d22c0 @app=#<Rack::Protection::IPSpoofing:0x00007f9dfe8d28b0 @app=#<Rack::Protection::JsonCsrf:0x00007f9dfe8d2978 @app=#<Rack::Protection::PathTraversal:0x00007f9dfe8d2bd0 @app=#<Rack::Protection::XSSHeader:0x00007f9dfe8d2d38 @app=#<AmericanArtCollaborativeSite:0x00007f9dfe14ec10 @current_engine=:ruby, @default_layout=:layout, @preferred_extension=nil, @app=nil, @template_cache=#<Tilt::Cache:0x00007f9dfe14ead0 @cache={[:haml, :"templates/actor.html", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "source"]=>#<Tilt::HamlTemplate:0x00007f9dfbe6e358 @options={:outvar=>"@_out_buf"}, @line=1, @file="source/templates/actor.html.haml", @compiled_method={[:obj]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_70158283023120>}, @default_encoding="utf-8", @reader=#<Proc:0x00007f9dfbe6e0b0@/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb:85 (lambda)>, @data="- content_for :title_text do\n = get_actor_name(obj)\n \n%section.container.main_content\n \n %header\n %h2= get_actor_name(obj)\n -if val = display_value(obj[\"contact_point\"], field: \"value\")\n .address.secondary=val\n\n .row\n .col-md-6\n -if bio = get_actor_bio(obj)\n %p= bio\n -if bio = by_classification(obj.dig(\"subject_of\"),\"aat:300080091\")\n %p= display_value(bio, keep_newlines: true) \n -if bio = by_classification(obj.dig(\"subject_of\"),\"toybox:aat_description\")\n %h5 About the Dataset\n %p= display_value(bio, keep_newlines: true) \n\n .col-md-5.offset-md-1\n\n // Instititution-specific section\n - if obj[\"schema:logo\"]\n %section.row\n - if val = obj[\"schema:logo\"]\n .col-12.text-center.logo_lockup\n =image_tag obj.dig(\"schema:logo\"), class: 'img-fluid img-thumbnail'\n - if obj[\"toybox:related_artwork_count\"]\n .col.stat.text-center\n \#{obj[\"toybox:related_artwork_count\"][\"@value\"].to_i.to_s(:delimited)}\n .stat_label Items\n - if obj[\"toybox:related_artist_count\"]\n .col.stat.text-center\n \#{obj[\"toybox:related_artist_count\"][\"@value\"].to_i.to_s(:delimited)}\n .stat_label Creators\n - if obj[\"toybox:latest_artwork_date\"] && obj[\"toybox:earliest_artwork_date\"]\n .col.stat.text-center\n \#{obj[\"toybox:earliest_artwork_date\"][\"@value\"]} — \#{obj[\"toybox:latest_artwork_date\"][\"@value\"]}\n .stat_label Date Range\n \n .metadata\n %dl.row<\n =list_item \"Alternate Names\", except_classification(obj.dig(\"actor_identified_by\"),[\"aat:300404670\",\"aat:300404672\"])\n =list_item \"Birth\", event_time_string(obj.dig(\"brought_into_existence_by\"))\n =list_item \"Birth Location\", event_place_string(obj.dig(\"brought_into_existence_by\"))\n =list_item \"Death\", event_time_string(obj.dig(\"taken_out_of_existence_by\"))\n =list_item \"Death Location\", event_place_string(obj.dig(\"taken_out_of_existence_by\"))\n =list_item \"Gender\", by_classification(obj.dig(\"classified_as\"),\"aat:300055147\", \"label\"), downcase: true, only_first: true\n =list_item \"Nationality\", by_classification(obj.dig(\"member_of\"),\"aat:300379842\", \"label\"), only_first: true\n - if obj[\"toybox:related_actors\"]\n = haml \"toyboxes/related_actors\".to_sym, layout: false, locals: {people: obj[\"toybox:related_actors\"]}\n %dl.row<\n =list_item \"Partner URL\", link_to_foaf(obj[\"homepage\"])\n =list_item \"Linked Data URI\", external_link_to(obj[\"id\"])\n =list_item \"External Authority\", obj.dig(\"exact_match\"), is_link: true, field: \"id\"\n - json = settings.redis.get(\"aac:reverse_lookup:\#{obj[\"id\"]}\")\n =list_item \"View LOD\", [external_link_to(\"\#{json}.json\", \"as JSON-LD\"), external_link_to(\"\#{json}.ttl\", \"as Turtle\")], join_char: \" \", pluralize: false\n \n // This is an alternate option for the first toybox.\n - if obj.dig(\"depicted_by\") && false\n %dl.row<\n =list_item \"Depicted In\", obj.dig(\"depicted_by\"), pluralize: false, is_entity: true, field: \"entity\"\n \n\n- if obj[\"depicted_by\"]\n %section.container-fluid.toybox.featured_items\n .container\n .row\n .col\n %h3=\"Selected Images of \#{get_actor_name(obj)}\"\n .row.align-items-center\n - [obj[\"depicted_by\"]].flatten(1).first(6).each do |item|\n .col-2\n = haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]} \n\n- if obj[\"toybox:created_by\"]\n = haml \"toyboxes/work_grid\".to_sym, layout: false, locals: {works: obj[\"toybox:created_by\"], title: \"Objects Created by \#{obj[\"label\"].first}\"}\n\n\n- if obj[\"toybox:featured_items\"]\n %section.container-fluid.toybox.featured_items\n .container\n .row\n .col\n %h3 Featured Objects\n .row.align-items-center\n - obj[\"toybox:featured_items\"].first(12).each do |item|\n .col-2\n = haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]} \n\n- if obj[\"toybox:most_common_artists\"]\n %section.container-fluid.toybox.featured_items\n .container\n .row\n .col\n %h3 Most Common Creators\n .row.align-items-center\n - obj[\"toybox:most_common_artists\"].first(6).each do |item|\n - id = item[\"toybox:common_artist\"][\"id\"]\n - uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n - common_artist = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n - if common_artist\n .col-2\n - count = item[\"toybox:common_artist_count\"][\"@value\"]\n - caption = \"\#{first_or_only common_artist[\"label\"]}<br/>\#{count} items\"\n .item_preview\n = display_image(common_artist, caption: caption, link: true, thumbnail: true, placeholder: true)\n\n\n:javascript\n console.log(\#{obj.to_json});\n\n\n", @engine=#<Haml::TempleEngine:0x00007f9dfbe6de08 @options=#<Temple::ImmutableMap:0x00007f9dfbe6d340 @map=[{:attr_wrapper=>"'", :autoclose=>["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], :encoding=>nil, :escape_attrs=>true, :escape_html=>false, :filename=>"source/templates/actor.html.haml", :format=>:html5, :hyphenate_data_attrs=>true, :line=>1, :mime_type=>"text/html", :preserve=>["textarea", "pre", "code"], :remove_whitespace=>false, :suppress_eval=>false, :cdata=>false, :parser_class=>Haml::Parser, :compiler_class=>Haml::Compiler, :trace=>false, :filters=>{}, :buffer=>"@_out_buf", :save_buffer=>true}]>, @chain=[[:Parser, #<Proc:0x00007f9dfe0e7fb0@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:Compiler, #<Proc:0x00007f9dfe0e7d58@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:"Haml::Escapable", #<Proc:0x00007f9dfe0e7060@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:ControlFlow, #<Proc:0x00007f9dfe0e4388@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:MultiFlattener, #<Proc:0x00007f9dff0ca1f8@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:StaticMerger, #<Proc:0x00007f9dff0bbd10@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:"Haml::Generator", #<Proc:0x00007f9dff0bb798@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>]], @encoding=#<Encoding:UTF-8>, @call_chain=[#<Haml::Parser:0x00007f9dfbe6d048 @options=#<Haml::Options:0x00007f9dfbe6cff8 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/templates/actor.html.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @script_level_stack=[], @template_index=0, @template_tabs=0, @template=[], @parent=(root nil
(silent_script {:text=>" content_for :title_text do", :keyword=>nil}
(script {:text=>" get_actor_name(obj)", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(tag {:name=>"section", :attributes=>{"class"=>"container main_content"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"header", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"h2", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"get_actor_name(obj)"})
(silent_script {:text=>"if val = display_value(obj[\"contact_point\"], field: \"value\")", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"address secondary"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"val"})))
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col-md-6"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>"if bio = get_actor_bio(obj)", :keyword=>"if"}
(tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"bio"}))
(silent_script {:text=>"if bio = by_classification(obj.dig(\"subject_of\"),\"aat:300080091\")", :keyword=>"if"}
(tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"display_value(bio, keep_newlines: true)"}))
(silent_script {:text=>"if bio = by_classification(obj.dig(\"subject_of\"),\"toybox:aat_description\")", :keyword=>"if"}
(tag {:name=>"h5", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"About the Dataset"})
(tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"display_value(bio, keep_newlines: true)"})))
(tag {:name=>"div", :attributes=>{"class"=>"col-md-5 offset-md-1"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(comment {:conditional=>nil, :text=>"/ Instititution-specific section", :revealed=>false, :parse=>false})
(silent_script {:text=>" if obj[\"schema:logo\"]", :keyword=>"if"}
(tag {:name=>"section", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" if val = obj[\"schema:logo\"]", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"col-12 text-center logo_lockup"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"image_tag obj.dig(\"schema:logo\"), class: 'img-fluid img-thumbnail'", :escape_html=>false, :preserve=>false, :keyword=>nil})))
(silent_script {:text=>" if obj[\"toybox:related_artwork_count\"]", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"\"\#{obj[\"toybox:related_artwork_count\"][\"@value\"].to_i.to_s(:delimited)}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
(tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Items"})))
(silent_script {:text=>" if obj[\"toybox:related_artist_count\"]", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"\"\#{obj[\"toybox:related_artist_count\"][\"@value\"].to_i.to_s(:delimited)}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
(tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Creators"})))
(silent_script {:text=>" if obj[\"toybox:latest_artwork_date\"] && obj[\"toybox:earliest_artwork_date\"]", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"\"\#{obj[\"toybox:earliest_artwork_date\"][\"@value\"]} \\u2014 \#{obj[\"toybox:latest_artwork_date\"][\"@value\"]}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
(tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Date Range"})))))
(tag {:name=>"div", :attributes=>{"class"=>"metadata"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"list_item \"Alternate Names\", except_classification(obj.dig(\"actor_identified_by\"),[\"aat:300404670\",\"aat:300404672\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Birth\", event_time_string(obj.dig(\"brought_into_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Birth Location\", event_place_string(obj.dig(\"brought_into_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Death\", event_time_string(obj.dig(\"taken_out_of_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Death Location\", event_place_string(obj.dig(\"taken_out_of_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Gender\", by_classification(obj.dig(\"classified_as\"),\"aat:300055147\", \"label\"), downcase: true, only_first: true", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Nationality\", by_classification(obj.dig(\"member_of\"),\"aat:300379842\", \"label\"), only_first: true", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(silent_script {:text=>" if obj[\"toybox:related_actors\"]", :keyword=>"if"}
(script {:text=>" haml \"toyboxes/related_actors\".to_sym, layout: false, locals: {people: obj[\"toybox:related_actors\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"list_item \"Partner URL\", link_to_foaf(obj[\"homepage\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Linked Data URI\", external_link_to(obj[\"id\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"External Authority\", obj.dig(\"exact_match\"), is_link: true, field: \"id\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
(silent_script {:text=>" json = settings.redis.get(\"aac:reverse_lookup:\#{obj[\"id\"]}\")", :keyword=>nil})
(script {:text=>"list_item \"View LOD\", [external_link_to(\"\#{json}.json\", \"as JSON-LD\"), external_link_to(\"\#{json}.ttl\", \"as Turtle\")], join_char: \" \", pluralize: false", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(comment {:conditional=>nil, :text=>"/ This is an alternate option for the first toybox.", :revealed=>false, :parse=>false})
(silent_script {:text=>" if obj.dig(\"depicted_by\") && false", :keyword=>"if"}
(tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"list_item \"Depicted In\", obj.dig(\"depicted_by\"), pluralize: false, is_entity: true, field: \"entity\"", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
(silent_script {:text=>" if obj[\"depicted_by\"]", :keyword=>"if"}
(tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"\"Selected Images of \#{get_actor_name(obj)}\""})))
(tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" [obj[\"depicted_by\"]].flatten(1).first(6).each do |item|", :keyword=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
(silent_script {:text=>" if obj[\"toybox:created_by\"]", :keyword=>"if"}
(script {:text=>" haml \"toyboxes/work_grid\".to_sym, layout: false, locals: {works: obj[\"toybox:created_by\"], title: \"Objects Created by \#{obj[\"label\"].first}\"}", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(silent_script {:text=>" if obj[\"toybox:featured_items\"]", :keyword=>"if"}
(tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Featured Objects"})))
(tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" obj[\"toybox:featured_items\"].first(12).each do |item|", :keyword=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
(silent_script {:text=>" if obj[\"toybox:most_common_artists\"]", :keyword=>"if"}
(tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Most Common Creators"})))
(tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" obj[\"toybox:most_common_artists\"].first(6).each do |item|", :keyword=>nil}
(silent_script {:text=>" id = item[\"toybox:common_artist\"][\"id\"]", :keyword=>nil})
(silent_script {:text=>" uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")", :keyword=>nil})
(silent_script {:text=>" common_artist = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil", :keyword=>nil})
(silent_script {:text=>" if common_artist", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" count = item[\"toybox:common_artist_count\"][\"@value\"]", :keyword=>nil})
(silent_script {:text=>" caption = \"\#{first_or_only common_artist[\"label\"]}<br/>\#{count} items\"", :keyword=>nil})
(tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" display_image(common_artist, caption: caption, link: true, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))))
(filter {:name=>"javascript", :text=>"console.log(\#{obj.to_json});\n"})), @root=(root nil
(silent_script {:text=>" content_for :title_text do", :keyword=>nil}
(script {:text=>" get_actor_name(obj)", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(tag {:name=>"section", :attributes=>{"class"=>"container main_content"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"header", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"h2", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"get_actor_name(obj)"})
(silent_script {:text=>"if val = display_value(obj[\"contact_point\"], field: \"value\")", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"address secondary"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"val"})))
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col-md-6"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>"if bio = get_actor_bio(obj)", :keyword=>"if"}
(tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"bio"}))
(silent_script {:text=>"if bio = by_classification(obj.dig(\"subject_of\"),\"aat:300080091\")", :keyword=>"if"}
(tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"display_value(bio, keep_newlines: true)"}))
(silent_script {:text=>"if bio = by_classification(obj.dig(\"subject_of\"),\"toybox:aat_description\")", :keyword=>"if"}
(tag {:name=>"h5", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"About the Dataset"})
(tag {:name=>"p", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"display_value(bio, keep_newlines: true)"})))
(tag {:name=>"div", :attributes=>{"class"=>"col-md-5 offset-md-1"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(comment {:conditional=>nil, :text=>"/ Instititution-specific section", :revealed=>false, :parse=>false})
(silent_script {:text=>" if obj[\"schema:logo\"]", :keyword=>"if"}
(tag {:name=>"section", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" if val = obj[\"schema:logo\"]", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"col-12 text-center logo_lockup"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"image_tag obj.dig(\"schema:logo\"), class: 'img-fluid img-thumbnail'", :escape_html=>false, :preserve=>false, :keyword=>nil})))
(silent_script {:text=>" if obj[\"toybox:related_artwork_count\"]", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"\"\#{obj[\"toybox:related_artwork_count\"][\"@value\"].to_i.to_s(:delimited)}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
(tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Items"})))
(silent_script {:text=>" if obj[\"toybox:related_artist_count\"]", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"\"\#{obj[\"toybox:related_artist_count\"][\"@value\"].to_i.to_s(:delimited)}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
(tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Creators"})))
(silent_script {:text=>" if obj[\"toybox:latest_artwork_date\"] && obj[\"toybox:earliest_artwork_date\"]", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"col stat text-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"\"\#{obj[\"toybox:earliest_artwork_date\"][\"@value\"]} \\u2014 \#{obj[\"toybox:latest_artwork_date\"][\"@value\"]}\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
(tag {:name=>"div", :attributes=>{"class"=>"stat_label"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Date Range"})))))
(tag {:name=>"div", :attributes=>{"class"=>"metadata"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"list_item \"Alternate Names\", except_classification(obj.dig(\"actor_identified_by\"),[\"aat:300404670\",\"aat:300404672\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Birth\", event_time_string(obj.dig(\"brought_into_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Birth Location\", event_place_string(obj.dig(\"brought_into_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Death\", event_time_string(obj.dig(\"taken_out_of_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Death Location\", event_place_string(obj.dig(\"taken_out_of_existence_by\"))", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Gender\", by_classification(obj.dig(\"classified_as\"),\"aat:300055147\", \"label\"), downcase: true, only_first: true", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Nationality\", by_classification(obj.dig(\"member_of\"),\"aat:300379842\", \"label\"), only_first: true", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(silent_script {:text=>" if obj[\"toybox:related_actors\"]", :keyword=>"if"}
(script {:text=>" haml \"toyboxes/related_actors\".to_sym, layout: false, locals: {people: obj[\"toybox:related_actors\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"list_item \"Partner URL\", link_to_foaf(obj[\"homepage\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"Linked Data URI\", external_link_to(obj[\"id\"])", :escape_html=>false, :preserve=>false, :keyword=>nil})
(script {:text=>"list_item \"External Authority\", obj.dig(\"exact_match\"), is_link: true, field: \"id\"", :escape_html=>false, :preserve=>false, :keyword=>nil})
(silent_script {:text=>" json = settings.redis.get(\"aac:reverse_lookup:\#{obj[\"id\"]}\")", :keyword=>nil})
(script {:text=>"list_item \"View LOD\", [external_link_to(\"\#{json}.json\", \"as JSON-LD\"), external_link_to(\"\#{json}.ttl\", \"as Turtle\")], join_char: \" \", pluralize: false", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(comment {:conditional=>nil, :text=>"/ This is an alternate option for the first toybox.", :revealed=>false, :parse=>false})
(silent_script {:text=>" if obj.dig(\"depicted_by\") && false", :keyword=>"if"}
(tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>true, :nuke_outer_whitespace=>false, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>"list_item \"Depicted In\", obj.dig(\"depicted_by\"), pluralize: false, is_entity: true, field: \"entity\"", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
(silent_script {:text=>" if obj[\"depicted_by\"]", :keyword=>"if"}
(tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"\"Selected Images of \#{get_actor_name(obj)}\""})))
(tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" [obj[\"depicted_by\"]].flatten(1).first(6).each do |item|", :keyword=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
(silent_script {:text=>" if obj[\"toybox:created_by\"]", :keyword=>"if"}
(script {:text=>" haml \"toyboxes/work_grid\".to_sym, layout: false, locals: {works: obj[\"toybox:created_by\"], title: \"Objects Created by \#{obj[\"label\"].first}\"}", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(silent_script {:text=>" if obj[\"toybox:featured_items\"]", :keyword=>"if"}
(tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Featured Objects"})))
(tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" obj[\"toybox:featured_items\"].first(12).each do |item|", :keyword=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))
(silent_script {:text=>" if obj[\"toybox:most_common_artists\"]", :keyword=>"if"}
(tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>"Most Common Creators"})))
(tag {:name=>"div", :attributes=>{"class"=>"row align-items-center"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" obj[\"toybox:most_common_artists\"].first(6).each do |item|", :keyword=>nil}
(silent_script {:text=>" id = item[\"toybox:common_artist\"][\"id\"]", :keyword=>nil})
(silent_script {:text=>" uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")", :keyword=>nil})
(silent_script {:text=>" common_artist = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil", :keyword=>nil})
(silent_script {:text=>" if common_artist", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" count = item[\"toybox:common_artist_count\"][\"@value\"]", :keyword=>nil})
(silent_script {:text=>" caption = \"\#{first_or_only common_artist[\"label\"]}<br/>\#{count} items\"", :keyword=>nil})
(tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" display_image(common_artist, caption: caption, link: true, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))))
(filter {:name=>"javascript", :text=>"console.log(\#{obj.to_json});\n"})), @flat=false, @filter_buffer=nil, @indentation=" ", @next_line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=112, parser=#<Haml::Parser:0x00007f9dfbe6d048 ...>, eod=true>, @line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=112, parser=#<Haml::Parser:0x00007f9dfbe6d048 ...>, eod=true>, @tab_up=nil, @flat_spaces=nil>, #<Haml::Compiler:0x00007f9e0203af28 @options=#<Haml::Options:0x00007f9e0203aed8 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/templates/actor.html.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @to_merge=[], @temple=[:multi, [:code, " content_for :title_text do\n"], [:dynamic, "( get_actor_name(obj)\n).to_s"], [:static, "\n"], [:code, "end;"], [:static, "<section"], [:newline], [:multi, [:static, " class='container main_content'"]], [:static, ">\n"], [:static, "<header"], [:newline], [:newline], [:multi], [:static, ">\n"], [:static, "<h2"], [:newline], [:multi], [:static, ">"], [:dynamic, "(get_actor_name(obj)\n).to_s"], [:static, "</h2>\n"], [:code, "if val = display_value(obj[\"contact_point\"], field: \"value\")\n"], [:static, "<div"], [:multi, [:static, " class='address secondary'"]], [:static, ">"], [:dynamic, "(val\n).to_s"], [:static, "</div>\n"], [:code, "end;"], [:static, "</header>\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col-md-6'"]], [:static, ">\n"], [:code, "\nif bio = get_actor_bio(obj)\n"], [:static, "<p"], [:multi], [:static, ">"], [:dynamic, "(bio\n).to_s"], [:static, "</p>\n"], [:code, "end;"], [:code, "if bio = by_classification(obj.dig(\"subject_of\"),\"aat:300080091\")\n"], [:static, "<p"], [:multi], [:static, ">"], [:dynamic, "(display_value(bio, keep_newlines: true)\n).to_s"], [:static, "</p>\n"], [:code, "end;"], [:code, "if bio = by_classification(obj.dig(\"subject_of\"),\"toybox:aat_description\")\n"], [:static, "<h5"], [:multi], [:static, ">"], [:static, "About the Dataset</h5>\n"], [:static, "<p"], [:newline], [:multi], [:static, ">"], [:dynamic, "(display_value(bio, keep_newlines: true)\n).to_s"], [:static, "</p>\n"], [:code, "end;"], [:static, "</div>\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col-md-5 offset-md-1'"]], [:static, ">\n"], [:static, "<!-- "], [:static, "/ Instititution-specific section"], [:static, " -->\n"], [:code, "\n\n\n if obj[\"schema:logo\"]\n"], [:static, "<section"], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:code, "\n if val = obj[\"schema:logo\"]\n"], [:static, "<div"], [:multi, [:static, " class='col-12 text-center logo_lockup'"]], [:static, ">\n"], [:dynamic, "\n(image_tag obj.dig(\"schema:logo\"), class: 'img-fluid img-thumbnail'\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "end;"], [:code, " if obj[\"toybox:related_artwork_count\"]\n"], [:static, "<div"], [:multi, [:static, " class='col stat text-center'"]], [:static, ">\n"], [:dynamic, "\n(\"\#{obj[\"toybox:related_artwork_count\"][\"@value\"].to_i.to_s(:delimited)}\"\n).to_s"], [:static, "\n"], [:static, "<div"], [:multi, [:static, " class='stat_label'"]], [:static, ">"], [:static, "Items</div>\n"], [:static, "</div>\n"], [:code, "end;"], [:code, "\n if obj[\"toybox:related_artist_count\"]\n"], [:static, "<div"], [:multi, [:static, " class='col stat text-center'"]], [:static, ">\n"], [:dynamic, "\n(\"\#{obj[\"toybox:related_artist_count\"][\"@value\"].to_i.to_s(:delimited)}\"\n).to_s"], [:static, "\n"], [:static, "<div"], [:multi, [:static, " class='stat_label'"]], [:static, ">"], [:static, "Creators</div>\n"], [:static, "</div>\n"], [:code, "end;"], [:code, "\n if obj[\"toybox:latest_artwork_date\"] && obj[\"toybox:earliest_artwork_date\"]\n"], [:static, "<div"], [:multi, [:static, " class='col stat text-center'"]], [:static, ">\n"], [:dynamic, "\n(\"\#{obj[\"toybox:earliest_artwork_date\"][\"@value\"]} \\u2014 \#{obj[\"toybox:latest_artwork_date\"][\"@value\"]}\"\n).to_s"], [:static, "\n"], [:static, "<div"], [:multi, [:static, " class='stat_label'"]], [:static, ">"], [:static, "Date Range</div>\n"], [:static, "</div>\n"], [:code, "end;"], [:static, "</section>\n"], [:code, "end;"], [:static, "<div"], [:newline], [:newline], [:multi, [:static, " class='metadata'"]], [:static, ">\n"], [:static, "<dl"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">"], [:dynamic, "\n(list_item \"Alternate Names\", except_classification(obj.dig(\"actor_identified_by\"),[\"aat:300404670\",\"aat:300404672\"])\n).to_s"], [:dynamic, "(list_item \"Birth\", event_time_string(obj.dig(\"brought_into_existence_by\"))\n).to_s"], [:dynamic, "(list_item \"Birth Location\", event_place_string(obj.dig(\"brought_into_existence_by\"))\n).to_s"], [:dynamic, "(list_item \"Death\", event_time_string(obj.dig(\"taken_out_of_existence_by\"))\n).to_s"], [:dynamic, "(list_item \"Death Location\", event_place_string(obj.dig(\"taken_out_of_existence_by\"))\n).to_s"], [:dynamic, "(list_item \"Gender\", by_classification(obj.dig(\"classified_as\"),\"aat:300055147\", \"label\"), downcase: true, only_first: true\n).to_s"], [:dynamic, "(list_item \"Nationality\", by_classification(obj.dig(\"member_of\"),\"aat:300379842\", \"label\"), only_first: true\n).to_s"], [:static, "</dl>\n"], [:code, " if obj[\"toybox:related_actors\"]\n"], [:dynamic, "( haml \"toyboxes/related_actors\".to_sym, layout: false, locals: {people: obj[\"toybox:related_actors\"]}\n).to_s"], [:static, "\n"], [:code, "end;"], [:static, "<dl"], [:multi, [:static, " class='row'"]], [:static, ">"], [:dynamic, "\n(list_item \"Partner URL\", link_to_foaf(obj[\"homepage\"])\n).to_s"], [:dynamic, "(list_item \"Linked Data URI\", external_link_to(obj[\"id\"])\n).to_s"], [:dynamic, "(list_item \"External Authority\", obj.dig(\"exact_match\"), is_link: true, field: \"id\"\n).to_s"], [:code, " json = settings.redis.get(\"aac:reverse_lookup:\#{obj[\"id\"]}\")\n"], [:dynamic, "(list_item \"View LOD\", [external_link_to(\"\#{json}.json\", \"as JSON-LD\"), external_link_to(\"\#{json}.ttl\", \"as Turtle\")], join_char: \" \", pluralize: false\n).to_s"], [:code, "_hamlout.rstrip!\n"], [:static, "</dl>\n"], [:static, "<!-- "], [:static, "/ This is an alternate option for the first toybox."], [:static, " -->\n"], [:code, "\n if obj.dig(\"depicted_by\") && false\n"], [:static, "<dl"], [:multi, [:static, " class='row'"]], [:static, ">"], [:dynamic, "\n(list_item \"Depicted In\", obj.dig(\"depicted_by\"), pluralize: false, is_entity: true, field: \"entity\"\n).to_s"], [:static, "</dl>\n"], [:code, "end;"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</section>\n"], [:code, "\n\n if obj[\"depicted_by\"]\n"], [:static, "<section"], [:multi, [:static, " class='container-fluid toybox featured_items'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='container'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col'"]], [:static, ">\n"], [:static, "<h3"], [:newline], [:multi], [:static, ">"], [:dynamic, "(\"Selected Images of \#{get_actor_name(obj)}\"\n).to_s"], [:static, "</h3>\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "<div"], [:multi, [:static, " class='row align-items-center'"]], [:static, ">\n"], [:code, "\n [obj[\"depicted_by\"]].flatten(1).first(6).each do |item|\n"], [:static, "<div"], [:multi, [:static, " class='col-2'"]], [:static, ">\n"], [:dynamic, "\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "end;"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</section>\n"], [:code, "end;"], [:code, "\n if obj[\"toybox:created_by\"]\n"], [:dynamic, "( haml \"toyboxes/work_grid\".to_sym, layout: false, locals: {works: obj[\"toybox:created_by\"], title: \"Objects Created by \#{obj[\"label\"].first}\"}\n).to_s"], [:static, "\n"], [:code, "end;"], [:code, "\n\n if obj[\"toybox:featured_items\"]\n"], [:static, "<section"], [:multi, [:static, " class='container-fluid toybox featured_items'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='container'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col'"]], [:static, ">\n"], [:static, "<h3"], [:newline], [:multi], [:static, ">"], [:static, "Featured Objects</h3>\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row align-items-center'"]], [:static, ">\n"], [:code, "\n obj[\"toybox:featured_items\"].first(12).each do |item|\n"], [:static, "<div"], [:multi, [:static, " class='col-2'"]], [:static, ">\n"], [:dynamic, "\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "end;"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</section>\n"], [:code, "end;"], [:code, "\n if obj[\"toybox:most_common_artists\"]\n"], [:static, "<section"], [:multi, [:static, " class='container-fluid toybox featured_items'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='container'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col'"]], [:static, ">\n"], [:static, "<h3"], [:newline], [:multi], [:static, ">"], [:static, "Most Common Creators</h3>\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row align-items-center'"]], [:static, ">\n"], [:code, "\n obj[\"toybox:most_common_artists\"].first(6).each do |item|\n"], [:code, " id = item[\"toybox:common_artist\"][\"id\"]\n"], [:code, " uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n"], [:code, " common_artist = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n"], [:code, " if common_artist\n"], [:static, "<div"], [:multi, [:static, " class='col-2'"]], [:static, ">\n"], [:code, "\n count = item[\"toybox:common_artist_count\"][\"@value\"]\n"], [:code, " caption = \"\#{first_or_only common_artist[\"label\"]}<br/>\#{count} items\"\n"], [:static, "<div"], [:multi, [:static, " class='item_preview'"]], [:static, ">\n"], [:dynamic, "\n( display_image(common_artist, caption: caption, link: true, thumbnail: true, placeholder: true)\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:code, "end;"], [:code, "end;"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</section>\n"], [:code, "end;"], [:dynamic, "\n\n(find_and_preserve(Haml::Filters::Javascript.render_with_options(\n\"console.log(\#{obj.to_json});\\n\", _hamlout.options))\n).to_s"], [:static, "\n"]], @node=nil, @filters={"plain"=>Haml::Filters::Plain, "javascript"=>Haml::Filters::Javascript, "css"=>Haml::Filters::Css, "cdata"=>Haml::Filters::Cdata, "escaped"=>Haml::Filters::Escaped, "ruby"=>Haml::Filters::Ruby, "preserve"=>Haml::Filters::Preserve, "sass"=>Haml::Filters::Sass, "scss"=>Haml::Filters::Scss, "less"=>Haml::Filters::Less, "markdown"=>Haml::Filters::Markdown, "erb"=>Haml::Filters::Erb, "coffee"=>Haml::Filters::Coffee, "coffeescript"=>Haml::Filters::Coffee}, @attribute_compiler=#<Haml::AttributeCompiler:0x00007f9e02038d18 @is_html=true, @attr_wrapper="'", @escape_attrs=true, @hyphenate_data_attrs=true>, @output_line=113>, #<Haml::Escapable:0x00007f9e02038368 @options=#<Temple::ImmutableMap:0x00007f9dfbdc7df0 @map=[{}]>, @escape_code="::Haml::Helpers.html_escape((%s))", @escaper=#<Proc:0x00007f9dfbdc73c8@(eval):1>, @once_escape_code="::Haml::Helpers.escape_once((%s))", @once_escaper=#<Proc:0x00007f9dfbdc6ab8@(eval):1>, @escape=false>, #<Temple::Filters::ControlFlow:0x00007f9dfbdc60e0 @options=#<Temple::ImmutableMap:0x00007f9dfbdc5c58 @map=[{}]>>, #<Temple::Filters::MultiFlattener:0x00007f9dfbdc5168 @options=#<Temple::ImmutableMap:0x00007f9dfbdc4ce0 @map=[{}]>>, #<Temple::Filters::StaticMerger:0x00007f9dfbdc4038 @options=#<Temple::ImmutableMap:0x00007f9dfbe078b0 @map=[{}]>>, #<Haml::Generator:0x00007f9dfbe06cf8 @options=#<Temple::ImmutableMap:0x00007f9dfbe069b0 @map=[{:freeze_static=>true}]>>], @precompiled=" content_for :title_text do\n; _hamlout.buffer << ((( get_actor_name(obj)\n).to_s).to_s);; _hamlout.buffer << (\"\\n\".freeze);; end;; _hamlout.buffer << (\"<section class='container main_content'>\\n<header>\\n<h2>\".freeze);; \n; \n; \n; \n; _hamlout.buffer << (((get_actor_name(obj)\n).to_s).to_s);; _hamlout.buffer << (\"</h2>\\n\".freeze);; if val = display_value(obj[\"contact_point\"], field: \"value\")\n; _hamlout.buffer << (\"<div class='address secondary'>\".freeze);; _hamlout.buffer << (((val\n).to_s).to_s);; _hamlout.buffer << (\"</div>\\n\".freeze);; end;; _hamlout.buffer << (\"</header>\\n<div class='row'>\\n<div class='col-md-6'>\\n\".freeze);; \n; \n; \nif bio = get_actor_bio(obj)\n; _hamlout.buffer << (\"<p>\".freeze);; _hamlout.buffer << (((bio\n).to_s).to_s);; _hamlout.buffer << (\"</p>\\n\".freeze);; end;; if bio = by_classification(obj.dig(\"subject_of\"),\"aat:300080091\")\n; _hamlout.buffer << (\"<p>\".freeze);; _hamlout.buffer << (((display_value(bio, keep_newlines: true)\n).to_s).to_s);; _hamlout.buffer << (\"</p>\\n\".freeze);; end;; if bio = by_classification(obj.dig(\"subject_of\"),\"toybox:aat_description\")\n; _hamlout.buffer << (\"<h5>About the Dataset</h5>\\n<p>\".freeze);; \n; _hamlout.buffer << (((display_value(bio, keep_newlines: true)\n).to_s).to_s);; _hamlout.buffer << (\"</p>\\n\".freeze);; end;; _hamlout.buffer << (\"</div>\\n<div class='col-md-5 offset-md-1'>\\n<!-- / Instititution-specific section -->\\n\".freeze);; \n; \n\n\n if obj[\"schema:logo\"]\n; _hamlout.buffer << (\"<section class='row'>\\n\".freeze);; \n if val = obj[\"schema:logo\"]\n; _hamlout.buffer << (\"<div class='col-12 text-center logo_lockup'>\\n\".freeze);; _hamlout.buffer << ((\n(image_tag obj.dig(\"schema:logo\"), class: 'img-fluid img-thumbnail'\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; end;; if obj[\"toybox:related_artwork_count\"]\n; _hamlout.buffer << (\"<div class='col stat text-center'>\\n\".freeze);; _hamlout.buffer << ((\n(\"\#{obj[\"toybox:related_artwork_count\"][\"@value\"].to_i.to_s(:delimited)}\"\n).to_s).to_s);; _hamlout.buffer << (\"\\n<div class='stat_label'>Items</div>\\n</div>\\n\".freeze);; end;; \n if obj[\"toybox:related_artist_count\"]\n; _hamlout.buffer << (\"<div class='col stat text-center'>\\n\".freeze);; _hamlout.buffer << ((\n(\"\#{obj[\"toybox:related_artist_count\"][\"@value\"].to_i.to_s(:delimited)}\"\n).to_s).to_s);; _hamlout.buffer << (\"\\n<div class='stat_label'>Creators</div>\\n</div>\\n\".freeze);; end;; \n if obj[\"toybox:latest_artwork_date\"] && obj[\"toybox:earliest_artwork_date\"]\n; _hamlout.buffer << (\"<div class='col stat text-center'>\\n\".freeze);; _hamlout.buffer << ((\n(\"\#{obj[\"toybox:earliest_artwork_date\"][\"@value\"]} \\u2014 \#{obj[\"toybox:latest_artwork_date\"][\"@value\"]}\"\n).to_s).to_s);; _hamlout.buffer << (\"\\n<div class='stat_label'>Date Range</div>\\n</div>\\n\".freeze);; end;; _hamlout.buffer << (\"</section>\\n\".freeze);; end;; _hamlout.buffer << (\"<div class='metadata'>\\n<dl class='row'>\".freeze);; \n; \n; \n; _hamlout.buffer << ((\n(list_item \"Alternate Names\", except_classification(obj.dig(\"actor_identified_by\"),[\"aat:300404670\",\"aat:300404672\"])\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Birth\", event_time_string(obj.dig(\"brought_into_existence_by\"))\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Birth Location\", event_place_string(obj.dig(\"brought_into_existence_by\"))\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Death\", event_time_string(obj.dig(\"taken_out_of_existence_by\"))\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Death Location\", event_place_string(obj.dig(\"taken_out_of_existence_by\"))\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Gender\", by_classification(obj.dig(\"classified_as\"),\"aat:300055147\", \"label\"), downcase: true, only_first: true\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Nationality\", by_classification(obj.dig(\"member_of\"),\"aat:300379842\", \"label\"), only_first: true\n).to_s).to_s);; _hamlout.buffer << (\"</dl>\\n\".freeze);; if obj[\"toybox:related_actors\"]\n; _hamlout.buffer << ((( haml \"toyboxes/related_actors\".to_sym, layout: false, locals: {people: obj[\"toybox:related_actors\"]}\n).to_s).to_s);; _hamlout.buffer << (\"\\n\".freeze);; end;; _hamlout.buffer << (\"<dl class='row'>\".freeze);; _hamlout.buffer << ((\n(list_item \"Partner URL\", link_to_foaf(obj[\"homepage\"])\n).to_s).to_s);; _hamlout.buffer << (((list_item \"Linked Data URI\", external_link_to(obj[\"id\"])\n).to_s).to_s);; _hamlout.buffer << (((list_item \"External Authority\", obj.dig(\"exact_match\"), is_link: true, field: \"id\"\n).to_s).to_s);; json = settings.redis.get(\"aac:reverse_lookup:\#{obj[\"id\"]}\")\n; _hamlout.buffer << (((list_item \"View LOD\", [external_link_to(\"\#{json}.json\", \"as JSON-LD\"), external_link_to(\"\#{json}.ttl\", \"as Turtle\")], join_char: \" \", pluralize: false\n).to_s).to_s);; _hamlout.rstrip!\n; _hamlout.buffer << (\"</dl>\\n<!-- / This is an alternate option for the first toybox. -->\\n\".freeze);; \n if obj.dig(\"depicted_by\") && false\n; _hamlout.buffer << (\"<dl class='row'>\".freeze);; _hamlout.buffer << ((\n(list_item \"Depicted In\", obj.dig(\"depicted_by\"), pluralize: false, is_entity: true, field: \"entity\"\n).to_s).to_s);; _hamlout.buffer << (\"</dl>\\n\".freeze);; end;; _hamlout.buffer << (\"</div>\\n</div>\\n</div>\\n</section>\\n\".freeze);; \n\n if obj[\"depicted_by\"]\n; _hamlout.buffer << (\"<section class='container-fluid toybox featured_items'>\\n<div class='container'>\\n<div class='row'>\\n<div class='col'>\\n<h3>\".freeze);; \n; \n; \n; \n; _hamlout.buffer << (((\"Selected Images of \#{get_actor_name(obj)}\"\n).to_s).to_s);; _hamlout.buffer << (\"</h3>\\n</div>\\n</div>\\n<div class='row align-items-center'>\\n\".freeze);; \n [obj[\"depicted_by\"]].flatten(1).first(6).each do |item|\n; _hamlout.buffer << (\"<div class='col-2'>\\n\".freeze);; _hamlout.buffer << ((\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; end;; _hamlout.buffer << (\"</div>\\n</div>\\n</section>\\n\".freeze);; end;; \n if obj[\"toybox:created_by\"]\n; _hamlout.buffer << ((( haml \"toyboxes/work_grid\".to_sym, layout: false, locals: {works: obj[\"toybox:created_by\"], title: \"Objects Created by \#{obj[\"label\"].first}\"}\n).to_s).to_s);; _hamlout.buffer << (\"\\n\".freeze);; end;; \n\n if obj[\"toybox:featured_items\"]\n; _hamlout.buffer << (\"<section class='container-fluid toybox featured_items'>\\n<div class='container'>\\n<div class='row'>\\n<div class='col'>\\n<h3>Featured Objects</h3>\\n</div>\\n</div>\\n<div class='row align-items-center'>\\n\".freeze);; \n; \n; \n; \n; \n; \n obj[\"toybox:featured_items\"].first(12).each do |item|\n; _hamlout.buffer << (\"<div class='col-2'>\\n\".freeze);; _hamlout.buffer << ((\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; end;; _hamlout.buffer << (\"</div>\\n</div>\\n</section>\\n\".freeze);; end;; \n if obj[\"toybox:most_common_artists\"]\n; _hamlout.buffer << (\"<section class='container-fluid toybox featured_items'>\\n<div class='container'>\\n<div class='row'>\\n<div class='col'>\\n<h3>Most Common Creators</h3>\\n</div>\\n</div>\\n<div class='row align-items-center'>\\n\".freeze);; \n; \n; \n; \n; \n; \n obj[\"toybox:most_common_artists\"].first(6).each do |item|\n; id = item[\"toybox:common_artist\"][\"id\"]\n; uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n; common_artist = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n; if common_artist\n; _hamlout.buffer << (\"<div class='col-2'>\\n\".freeze);; \n count = item[\"toybox:common_artist_count\"][\"@value\"]\n; caption = \"\#{first_or_only common_artist[\"label\"]}<br/>\#{count} items\"\n; _hamlout.buffer << (\"<div class='item_preview'>\\n\".freeze);; _hamlout.buffer << ((\n( display_image(common_artist, caption: caption, link: true, thumbnail: true, placeholder: true)\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n</div>\\n\".freeze);; end;; end;; _hamlout.buffer << (\"</div>\\n</div>\\n</section>\\n\".freeze);; end;; _hamlout.buffer << ((\n\n(find_and_preserve(Haml::Filters::Javascript.render_with_options(\n\"console.log(\#{obj.to_json});\\n\", _hamlout.options))\n).to_s).to_s);; _hamlout.buffer << (\"\\n\".freeze);">>, [:haml, :"toyboxes/related_actors", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "source"]=>#<Tilt::HamlTemplate:0x00007f9e05c94b40 @options={:outvar=>"@_out_buf"}, @line=1, @file="source/toyboxes/related_actors.haml", @compiled_method={[:people]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_70158283023120>}, @default_encoding="utf-8", @reader=#<Proc:0x00007f9e05c94848@/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb:85 (lambda)>, @data="- list = get_relationship_list(people)\n- if list.length > 0\n %dl.row\n - list.each do |reltype, links|\n = list_item reltype, links, pluralize: false", @engine=#<Haml::TempleEngine:0x00007f9e05c94668 @options=#<Temple::ImmutableMap:0x00007f9e05c93a10 @map=[{:attr_wrapper=>"'", :autoclose=>["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], :encoding=>nil, :escape_attrs=>true, :escape_html=>false, :filename=>"source/toyboxes/related_actors.haml", :format=>:html5, :hyphenate_data_attrs=>true, :line=>1, :mime_type=>"text/html", :preserve=>["textarea", "pre", "code"], :remove_whitespace=>false, :suppress_eval=>false, :cdata=>false, :parser_class=>Haml::Parser, :compiler_class=>Haml::Compiler, :trace=>false, :filters=>{}, :buffer=>"@_out_buf", :save_buffer=>true}]>, @chain=[[:Parser, #<Proc:0x00007f9dfe0e7fb0@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:Compiler, #<Proc:0x00007f9dfe0e7d58@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:"Haml::Escapable", #<Proc:0x00007f9dfe0e7060@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:ControlFlow, #<Proc:0x00007f9dfe0e4388@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:MultiFlattener, #<Proc:0x00007f9dff0ca1f8@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:StaticMerger, #<Proc:0x00007f9dff0bbd10@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:"Haml::Generator", #<Proc:0x00007f9dff0bb798@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>]], @encoding=#<Encoding:UTF-8>, @call_chain=[#<Haml::Parser:0x00007f9e05c93628 @options=#<Haml::Options:0x00007f9e05c935d8 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/related_actors.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @script_level_stack=[], @template_index=0, @template_tabs=0, @template=[], @parent=(root nil
(silent_script {:text=>" list = get_relationship_list(people)", :keyword=>nil})
(silent_script {:text=>" if list.length > 0", :keyword=>"if"}
(tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" list.each do |reltype, links|", :keyword=>nil}
(script {:text=>" list_item reltype, links, pluralize: false", :escape_html=>false, :preserve=>false, :keyword=>nil}))))), @root=(root nil
(silent_script {:text=>" list = get_relationship_list(people)", :keyword=>nil})
(silent_script {:text=>" if list.length > 0", :keyword=>"if"}
(tag {:name=>"dl", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" list.each do |reltype, links|", :keyword=>nil}
(script {:text=>" list_item reltype, links, pluralize: false", :escape_html=>false, :preserve=>false, :keyword=>nil}))))), @flat=false, @filter_buffer=nil, @indentation=" ", @next_line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=5, parser=#<Haml::Parser:0x00007f9e05c93628 ...>, eod=true>, @line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=5, parser=#<Haml::Parser:0x00007f9e05c93628 ...>, eod=true>, @tab_up=nil>, #<Haml::Compiler:0x00007f9e05c90e00 @options=#<Haml::Options:0x00007f9e05c90db0 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/related_actors.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @to_merge=[], @temple=[:multi, [:code, " list = get_relationship_list(people)\n"], [:code, " if list.length > 0\n"], [:static, "<dl"], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:code, "\n list.each do |reltype, links|\n"], [:dynamic, "( list_item reltype, links, pluralize: false\n).to_s"], [:static, "\n"], [:code, "end;"], [:static, "</dl>\n"], [:code, "end;"]], @node=nil, @filters={"plain"=>Haml::Filters::Plain, "javascript"=>Haml::Filters::Javascript, "css"=>Haml::Filters::Css, "cdata"=>Haml::Filters::Cdata, "escaped"=>Haml::Filters::Escaped, "ruby"=>Haml::Filters::Ruby, "preserve"=>Haml::Filters::Preserve, "sass"=>Haml::Filters::Sass, "scss"=>Haml::Filters::Scss, "less"=>Haml::Filters::Less, "markdown"=>Haml::Filters::Markdown, "erb"=>Haml::Filters::Erb, "coffee"=>Haml::Filters::Coffee, "coffeescript"=>Haml::Filters::Coffee}, @attribute_compiler=#<Haml::AttributeCompiler:0x00007f9e05c8e510 @is_html=true, @attr_wrapper="'", @escape_attrs=true, @hyphenate_data_attrs=true>, @output_line=6>, #<Haml::Escapable:0x00007f9e05c8d958 @options=#<Temple::ImmutableMap:0x00007f9e05c8d0e8 @map=[{}]>, @escape_code="::Haml::Helpers.html_escape((%s))", @escaper=#<Proc:0x00007f9e05c8c468@(eval):1>, @once_escape_code="::Haml::Helpers.escape_once((%s))", @once_escaper=#<Proc:0x00007f9e05eb7940@(eval):1>, @escape=false>, #<Temple::Filters::ControlFlow:0x00007f9e05eb6e28 @options=#<Temple::ImmutableMap:0x00007f9e05eb6950 @map=[{}]>>, #<Temple::Filters::MultiFlattener:0x00007f9e05eb5af0 @options=#<Temple::ImmutableMap:0x00007f9e05eb5320 @map=[{}]>>, #<Temple::Filters::StaticMerger:0x00007f9e05eb47b8 @options=#<Temple::ImmutableMap:0x00007f9e05eb4290 @map=[{}]>>, #<Haml::Generator:0x00007f9e05eb36d8 @options=#<Temple::ImmutableMap:0x00007f9e05eb32f0 @map=[{:freeze_static=>true}]>>], @precompiled=" list = get_relationship_list(people)\n; if list.length > 0\n; _hamlout.buffer << (\"<dl class='row'>\\n\".freeze);; \n list.each do |reltype, links|\n; _hamlout.buffer << ((( list_item reltype, links, pluralize: false\n).to_s).to_s);; _hamlout.buffer << (\"\\n\".freeze);; end;; _hamlout.buffer << (\"</dl>\\n\".freeze);; end;">>, [:haml, :"toyboxes/work_grid", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "source"]=>#<Tilt::HamlTemplate:0x00007f9e05928fb0 @options={:outvar=>"@_out_buf"}, @line=1, @file="source/toyboxes/work_grid.haml", @compiled_method={[:title, :works]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_70158283023120>}, @default_encoding="utf-8", @reader=#<Proc:0x00007f9e05928d30@/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb:85 (lambda)>, @data="- split_works = split_by_owner(works)\n- split_works.each do |owner, owners_works|\n %section.container-fluid.toybox.featured_items\n .container\n .row\n .col\n %h3 Objects at \#{owner} (\#{owners_works.count})\n .row\n - owners_works.each do |item|\n .col-2\n = haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]} \n", @engine=#<Haml::TempleEngine:0x00007f9e05928b28 @options=#<Temple::ImmutableMap:0x00007f9e05928010 @map=[{:attr_wrapper=>"'", :autoclose=>["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], :encoding=>nil, :escape_attrs=>true, :escape_html=>false, :filename=>"source/toyboxes/work_grid.haml", :format=>:html5, :hyphenate_data_attrs=>true, :line=>1, :mime_type=>"text/html", :preserve=>["textarea", "pre", "code"], :remove_whitespace=>false, :suppress_eval=>false, :cdata=>false, :parser_class=>Haml::Parser, :compiler_class=>Haml::Compiler, :trace=>false, :filters=>{}, :buffer=>"@_out_buf", :save_buffer=>true}]>, @chain=[[:Parser, #<Proc:0x00007f9dfe0e7fb0@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:Compiler, #<Proc:0x00007f9dfe0e7d58@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:"Haml::Escapable", #<Proc:0x00007f9dfe0e7060@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:ControlFlow, #<Proc:0x00007f9dfe0e4388@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:MultiFlattener, #<Proc:0x00007f9dff0ca1f8@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:StaticMerger, #<Proc:0x00007f9dff0bbd10@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:"Haml::Generator", #<Proc:0x00007f9dff0bb798@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>]], @encoding=#<Encoding:UTF-8>, @call_chain=[#<Haml::Parser:0x00007f9e05927c78 @options=#<Haml::Options:0x00007f9e05927c28 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/work_grid.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @script_level_stack=[], @template_index=0, @template_tabs=0, @template=[], @parent=(root nil
(silent_script {:text=>" split_works = split_by_owner(works)", :keyword=>nil})
(silent_script {:text=>" split_works.each do |owner, owners_works|", :keyword=>nil}
(tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"\"Objects at \#{owner} (\#{owners_works.count})\""})))
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" owners_works.each do |item|", :keyword=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))), @root=(root nil
(silent_script {:text=>" split_works = split_by_owner(works)", :keyword=>nil})
(silent_script {:text=>" split_works.each do |owner, owners_works|", :keyword=>nil}
(tag {:name=>"section", :attributes=>{"class"=>"container-fluid toybox featured_items"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"container"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(tag {:name=>"h3", :attributes=>{}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>true, :value=>"\"Objects at \#{owner} (\#{owners_works.count})\""})))
(tag {:name=>"div", :attributes=>{"class"=>"row"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(silent_script {:text=>" owners_works.each do |item|", :keyword=>nil}
(tag {:name=>"div", :attributes=>{"class"=>"col-2"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}", :escape_html=>false, :preserve=>false, :keyword=>nil})))))))), @flat=false, @filter_buffer=nil, @indentation=" ", @next_line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=11, parser=#<Haml::Parser:0x00007f9e05927c78 ...>, eod=true>, @line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=11, parser=#<Haml::Parser:0x00007f9e05927c78 ...>, eod=true>, @tab_up=nil>, #<Haml::Compiler:0x00007f9e05925b58 @options=#<Haml::Options:0x00007f9e05925b08 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/work_grid.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @to_merge=[], @temple=[:multi, [:code, " split_works = split_by_owner(works)\n"], [:code, " split_works.each do |owner, owners_works|\n"], [:static, "<section"], [:multi, [:static, " class='container-fluid toybox featured_items'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='container'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:static, "<div"], [:newline], [:multi, [:static, " class='col'"]], [:static, ">\n"], [:static, "<h3"], [:newline], [:multi], [:static, ">"], [:dynamic, "(\"Objects at \#{owner} (\#{owners_works.count})\"\n).to_s"], [:static, "</h3>\n"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "<div"], [:multi, [:static, " class='row'"]], [:static, ">\n"], [:code, "\n owners_works.each do |item|\n"], [:static, "<div"], [:multi, [:static, " class='col-2'"]], [:static, ">\n"], [:dynamic, "\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "end;"], [:static, "</div>\n"], [:static, "</div>\n"], [:static, "</section>\n"], [:code, "end;"]], @node=nil, @filters={"plain"=>Haml::Filters::Plain, "javascript"=>Haml::Filters::Javascript, "css"=>Haml::Filters::Css, "cdata"=>Haml::Filters::Cdata, "escaped"=>Haml::Filters::Escaped, "ruby"=>Haml::Filters::Ruby, "preserve"=>Haml::Filters::Preserve, "sass"=>Haml::Filters::Sass, "scss"=>Haml::Filters::Scss, "less"=>Haml::Filters::Less, "markdown"=>Haml::Filters::Markdown, "erb"=>Haml::Filters::Erb, "coffee"=>Haml::Filters::Coffee, "coffeescript"=>Haml::Filters::Coffee}, @attribute_compiler=#<Haml::AttributeCompiler:0x00007f9e05d4f738 @is_html=true, @attr_wrapper="'", @escape_attrs=true, @hyphenate_data_attrs=true>, @output_line=12>, #<Haml::Escapable:0x00007f9e05d4ed60 @options=#<Temple::ImmutableMap:0x00007f9e05d4e7e8 @map=[{}]>, @escape_code="::Haml::Helpers.html_escape((%s))", @escaper=#<Proc:0x00007f9e05d4dd70@(eval):1>, @once_escape_code="::Haml::Helpers.escape_once((%s))", @once_escaper=#<Proc:0x00007f9e05d4d460@(eval):1>, @escape=false>, #<Temple::Filters::ControlFlow:0x00007f9e05d4cad8 @options=#<Temple::ImmutableMap:0x00007f9e05d4c600 @map=[{}]>>, #<Temple::Filters::MultiFlattener:0x00007f9e05d4bb38 @options=#<Temple::ImmutableMap:0x00007f9e05d4b660 @map=[{}]>>, #<Temple::Filters::StaticMerger:0x00007f9e05d4abe8 @options=#<Temple::ImmutableMap:0x00007f9e05d4a710 @map=[{}]>>, #<Haml::Generator:0x00007f9e05d49a68 @options=#<Temple::ImmutableMap:0x00007f9e05d496d0 @map=[{:freeze_static=>true}]>>], @precompiled=" split_works = split_by_owner(works)\n; split_works.each do |owner, owners_works|\n; _hamlout.buffer << (\"<section class='container-fluid toybox featured_items'>\\n<div class='container'>\\n<div class='row'>\\n<div class='col'>\\n<h3>\".freeze);; \n; \n; \n; \n; _hamlout.buffer << (((\"Objects at \#{owner} (\#{owners_works.count})\"\n).to_s).to_s);; _hamlout.buffer << (\"</h3>\\n</div>\\n</div>\\n<div class='row'>\\n\".freeze);; \n owners_works.each do |item|\n; _hamlout.buffer << (\"<div class='col-2'>\\n\".freeze);; _hamlout.buffer << ((\n( haml \"toyboxes/item_preview\".to_sym, layout: false, locals: {id: item[\"id\"]}\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; end;; _hamlout.buffer << (\"</div>\\n</div>\\n</section>\\n\".freeze);; end;">>, [:haml, :"toyboxes/item_preview", {:outvar=>"@_out_buf", :default_encoding=>"utf-8"}, "source"]=>#<Tilt::HamlTemplate:0x00007f9dfbe48c48 @options={:outvar=>"@_out_buf"}, @line=1, @file="source/toyboxes/item_preview.haml", @compiled_method={[:id]=>#<UnboundMethod: Tilt::CompiledTemplates#__tilt_70158283023120>}, @default_encoding="utf-8", @reader=#<Proc:0x00007f9dfbe48a40@/Users/david/.rvm/gems/ruby-2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb:85 (lambda)>, @data="- uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n- obj = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n- if obj\n .item_preview\n = display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)\n-else\n .item_preview\n = display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)\n", @engine=#<Haml::TempleEngine:0x00007f9dfbe48860 @options=#<Temple::ImmutableMap:0x00007f9e05287dc8 @map=[{:attr_wrapper=>"'", :autoclose=>["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], :encoding=>nil, :escape_attrs=>true, :escape_html=>false, :filename=>"source/toyboxes/item_preview.haml", :format=>:html5, :hyphenate_data_attrs=>true, :line=>1, :mime_type=>"text/html", :preserve=>["textarea", "pre", "code"], :remove_whitespace=>false, :suppress_eval=>false, :cdata=>false, :parser_class=>Haml::Parser, :compiler_class=>Haml::Compiler, :trace=>false, :filters=>{}, :buffer=>"@_out_buf", :save_buffer=>true}]>, @chain=[[:Parser, #<Proc:0x00007f9dfe0e7fb0@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:Compiler, #<Proc:0x00007f9dfe0e7d58@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:89>], [:"Haml::Escapable", #<Proc:0x00007f9dfe0e7060@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:ControlFlow, #<Proc:0x00007f9dfe0e4388@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:MultiFlattener, #<Proc:0x00007f9dff0ca1f8@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:StaticMerger, #<Proc:0x00007f9dff0bbd10@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>], [:"Haml::Generator", #<Proc:0x00007f9dff0bb798@/Users/david/.rvm/gems/ruby-2.5.0/gems/temple-0.8.0/lib/temple/mixins/engine_dsl.rb:76>]], @encoding=#<Encoding:UTF-8>, @call_chain=[#<Haml::Parser:0x00007f9e05287a80 @options=#<Haml::Options:0x00007f9e05287a30 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/item_preview.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @script_level_stack=[], @template_index=0, @template_tabs=0, @template=[], @parent=(root nil
(silent_script {:text=>" uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")", :keyword=>nil})
(silent_script {:text=>" obj = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil", :keyword=>nil})
(silent_script {:text=>" if obj", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(silent_script {:text=>"else", :keyword=>"else"})
(tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil})))), @root=(root nil
(silent_script {:text=>" uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")", :keyword=>nil})
(silent_script {:text=>" obj = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil", :keyword=>nil})
(silent_script {:text=>" if obj", :keyword=>"if"}
(tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil}))
(silent_script {:text=>"else", :keyword=>"else"})
(tag {:name=>"div", :attributes=>{"class"=>"item_preview"}, :dynamic_attributes=>#<struct Haml::Parser::DynamicAttributes new=nil, old=nil>, :self_closing=>false, :nuke_inner_whitespace=>false, :nuke_outer_whitespace=>nil, :object_ref=>:nil, :escape_html=>false, :preserve_tag=>false, :preserve_script=>nil, :parse=>nil, :value=>nil}
(script {:text=>" display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)", :escape_html=>false, :preserve=>false, :keyword=>nil})))), @flat=false, @filter_buffer=nil, @indentation=" ", @next_line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=8, parser=#<Haml::Parser:0x00007f9e05287a80 ...>, eod=true>, @line=#<struct Haml::Parser::Line whitespace=nil, text="-#", full="-#", index=8, parser=#<Haml::Parser:0x00007f9e05287a80 ...>, eod=true>, @tab_up=nil>, #<Haml::Compiler:0x00007f9e05284bc8 @options=#<Haml::Options:0x00007f9e05284a88 @attr_wrapper="'", @autoclose=["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"], @encoding="UTF-8", @escape_attrs=true, @escape_html=false, @filename="source/toyboxes/item_preview.haml", @format=:html5, @hyphenate_data_attrs=true, @line=1, @mime_type="text/html", @preserve=["textarea", "pre", "code"], @remove_whitespace=false, @suppress_eval=false, @cdata=false, @parser_class=Haml::Parser, @compiler_class=Haml::Compiler, @trace=false, @filters={}>, @to_merge=[], @temple=[:multi, [:code, " uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n"], [:code, " obj = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n"], [:code, " if obj\n"], [:static, "<div"], [:multi, [:static, " class='item_preview'"]], [:static, ">\n"], [:dynamic, "\n( display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "else\n"], [:static, "<div"], [:multi, [:static, " class='item_preview'"]], [:static, ">\n"], [:dynamic, "\n( display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)\n).to_s"], [:static, "\n"], [:static, "</div>\n"], [:code, "end;"]], @node=nil, @filters={"plain"=>Haml::Filters::Plain, "javascript"=>Haml::Filters::Javascript, "css"=>Haml::Filters::Css, "cdata"=>Haml::Filters::Cdata, "escaped"=>Haml::Filters::Escaped, "ruby"=>Haml::Filters::Ruby, "preserve"=>Haml::Filters::Preserve, "sass"=>Haml::Filters::Sass, "scss"=>Haml::Filters::Scss, "less"=>Haml::Filters::Less, "markdown"=>Haml::Filters::Markdown, "erb"=>Haml::Filters::Erb, "coffee"=>Haml::Filters::Coffee, "coffeescript"=>Haml::Filters::Coffee}, @attribute_compiler=#<Haml::AttributeCompiler:0x00007f9e05265d40 @is_html=true, @attr_wrapper="'", @escape_attrs=true, @hyphenate_data_attrs=true>, @output_line=9>, #<Haml::Escapable:0x00007f9e052651b0 @options=#<Temple::ImmutableMap:0x00007f9e05264b20 @map=[{}]>, @escape_code="::Haml::Helpers.html_escape((%s))", @escaper=#<Proc:0x00007f9e0524fec8@(eval):1>, @once_escape_code="::Haml::Helpers.escape_once((%s))", @once_escaper=#<Proc:0x00007f9e0524f590@(eval):1>, @escape=false>, #<Temple::Filters::ControlFlow:0x00007f9e0524eb90 @options=#<Temple::ImmutableMap:0x00007f9e0524e5c8 @map=[{}]>>, #<Temple::Filters::MultiFlattener:0x00007f9e0524dba0 @options=#<Temple::ImmutableMap:0x00007f9e0524d650 @map=[{}]>>, #<Temple::Filters::StaticMerger:0x00007f9e0524c8e0 @options=#<Temple::ImmutableMap:0x00007f9e0524c200 @map=[{}]>>, #<Haml::Generator:0x00007f9e05743470 @options=#<Temple::ImmutableMap:0x00007f9e05743088 @map=[{:freeze_static=>true}]>>], @precompiled=" uri = settings.redis.get(\"aac:reverse_lookup:\#{id}\")\n; obj = JSON.parse(settings.redis.get(\"aac:uri:\#{uri}\"))[\"@graph\"][0] rescue nil\n; if obj\n; _hamlout.buffer << (\"<div class='item_preview'>\\n\".freeze);; _hamlout.buffer << ((\n( display_image(obj, caption: entity_label(obj), link: true, thumbnail: true, placeholder: true)\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; else\n; _hamlout.buffer << (\"<div class='item_preview'>\\n\".freeze);; _hamlout.buffer << ((\n( display_image({}, caption: id, link: false, thumbnail: true, placeholder: true)\n).to_s).to_s);; _hamlout.buffer << (\"\\n</div>\\n\".freeze);; end;">>}>>, @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"], :xss_mode=>:block, :nosniff=>true, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>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"], :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>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"], :allow_if=>nil, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>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"], :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>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"], :allow_if=>nil, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>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"], :frame_options=>:sameorigin, :img_src=>"'self' data:", :font_src=>"'self'", :without_session=>true}, @frame_options="SAMEORIGIN">> |
rack.multiprocess | false |
rack.multithread | true |
rack.request.cookie_hash | {} |
rack.request.query_hash | {"production"=>"true"} |
rack.request.query_string | production=true |
rack.run_once | false |
rack.url_scheme | http |
rack.version | [1, 3] |
sinatra.accept | [#<Sinatra::Request::AcceptEntry:0x00007f9dfc59a820 @entry="*/*", @type="*/*", @params={}, @q=1.0>] |
sinatra.error | #<TypeError: no implicit conversion of String into Integer> |
sinatra.error.params | {"production"=>"true", "captures"=>["actor/ulan/500012106", "html"], "slug"=>"actor/ulan/500012106", "extension"=>"html"} |
sinatra.route | GET \/(?<slug>.+?)(?:\.(?<extension>html|json|jsonld|ttl))? |
You're seeing this error because you have
enabled the show_exceptions
setting.