Module: Bobkit::SlimBridge

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

Instance Method Summary collapse

Methods included from ScopeOptions

#scope

Methods included from OptionsBase

#use_defaults

Methods included from LocationOptions

#assets_folder, #assets_output_folder, #coffee_folder, #css_output_folder, #js_output_folder, #layouts_folder, #output_folder, #styles_folder, #templates_folder

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



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/bobkit/slim_bridge.rb', line 8

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
  if context.is_a? Hash or !context
    context = Scope.new context 
  end

  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