Module: Cuba::Mote

Includes:
Mote::Helpers
Defined in:
lib/cuba/contrib/mote.rb

Defined Under Namespace

Classes: NoLayout

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.setup(app) ⇒ Object



7
8
9
10
# File 'lib/cuba/contrib/mote.rb', line 7

def self.setup(app)
  app.settings[:views]  ||= File.expand_path("views", Dir.pwd)
  app.settings[:layout] ||= "layout"
end

Instance Method Details

#mote_path(template) ⇒ Object



22
23
24
25
26
# File 'lib/cuba/contrib/mote.rb', line 22

def mote_path(template)
  return template if template.end_with?(".mote")

  File.join(settings[:views], "#{template}.mote")
end

#mote_vars(content) ⇒ Object



28
29
30
# File 'lib/cuba/contrib/mote.rb', line 28

def mote_vars(content)
  { content: content, session: session }
end

#partial(template, locals = {}) ⇒ Object



12
13
14
# File 'lib/cuba/contrib/mote.rb', line 12

def partial(template, locals = {})
  mote(mote_path(template), locals)
end

#view(template, locals = {}, layout = ) ⇒ Object

Raises:



16
17
18
19
20
# File 'lib/cuba/contrib/mote.rb', line 16

def view(template, locals = {}, layout = settings[:layout])
  raise NoLayout.new(self) unless layout

  partial(layout, locals.merge(mote_vars(partial(template, locals))))
end