Module: Bobkit::SlimBridge

Includes:
FileHelpers, SlimOptions
Included in:
Scope, Tasks
Defined in:
lib/bobkit/slim_bridge.rb

Instance Method Summary collapse

Methods included from SlimOptions

#slim_options

Methods included from FileHelpers

#copy_file, #create_file, #create_folder, #create_folder_for

Instance Method Details

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



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

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