Module: Bobkit::SlimExtra

Includes:
FileHelpers
Included in:
Actions, Scope
Defined in:
lib/bobkit/slim_extra.rb

Instance Method Summary collapse

Methods included from FileHelpers

#create_file, #create_folder_for

Instance Method Details

#render(options = {}, extra_options = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/bobkit/slim_extra.rb', line 5

def render(options={}, extra_options={})
  options = { partial: options }.merge(extra_options) if options.is_a? String
  partial = options.delete :partial
  layout  = options.delete :layout
  output  = options.delete :output
  
  context = options.empty? ? scope : options
  context = Scope.new context if context.is_a? Hash

  content = Slim::Template.new("#{templates_folder}/#{partial}.slim", slim_options).render(context)
  content = Slim::Template.new("#{layouts_folder}/#{layout}.slim", slim_options).render(context) { content } if layout
  create_file "#{output_folder}/#{output}.html", content if output
  content
end