Module: Sinatra::Partial::Helpers
- Defined in:
- lib/sinatra/partial.rb
Instance Method Summary collapse
-
#partial(partial_name, options = {}) ⇒ String
Renders a partial to a string.
Instance Method Details
#partial(partial_name, options = {}) ⇒ String
Renders a partial to a string.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/sinatra/partial.rb', line 56 def partial(partial_name, ={}) .merge! :layout => false partial_location = partial_name.to_s engine = .fetch(:template_engine, settings.partial_template_engine) underscores = .fetch(:underscores, settings.partial_underscores) template = Private.(partial_location, underscores) if collection = .delete(:collection) member_local = Private.partial_local(partial_location) locals = .fetch(:locals, {}) collection.inject([]) do |buffer, member| new_locals = {member_local => member}.merge(locals) buffer << self.method(engine).call(template, .merge(:locals => new_locals)) end.join("\n") else self.method(engine).call(template, ) end end |