class Bobkit::SlimBridge::SlimHandler
Public Instance Methods
render(options={}, extra_options={})
click to toggle source
# File lib/bobkit/slim_bridge.rb, line 15 def render(options={}, extra_options={}) if options.is_a? String options = { partial: options }.merge(extra_options) elsif options.respond_to? :to_partial scope options options = { partial: options.to_partial }.merge(extra_options) end partial = options.delete :partial layout = options.delete :layout output = options.delete :output content = options.delete :content context = options.empty? ? scope : options if context.is_a? Hash or !context context = Scope.new context end content ||= Slim::Template.new(partial_filename(partial), slim_options).render(context) content = Slim::Template.new(layout_filename(layout), slim_options).render(context) { content } if layout create_file "#{output_folder}/#{output}.html", content if output content end
Private Instance Methods
layout_filename(layout)
click to toggle source
# File lib/bobkit/slim_bridge.rb, line 45 def layout_filename(layout) localized_template layouts_folder, layout end
localized_template(folder, basename)
click to toggle source
# File lib/bobkit/slim_bridge.rb, line 49 def localized_template(folder, basename) preferred = "#{folder}/#{basename}.#{locale}.slim" return preferred if File.exist? preferred "#{folder}/#{basename}.slim" end
partial_filename(partial)
click to toggle source
# File lib/bobkit/slim_bridge.rb, line 41 def partial_filename(partial) localized_template templates_folder, partial end