Class: Merbiful::Controller
- Inherits:
-
Merb::Controller
- Object
- Merb::Controller
- Merbiful::Controller
show all
- Defined in:
- lib/merbiful-release/controller.rb
Defined Under Namespace
Classes: MissingCssError, MissingJsError, MissingLayoutError, MissingPageError
Instance Method Summary
collapse
Instance Method Details
#css(id) ⇒ Object
22
23
24
25
26
27
|
# File 'lib/merbiful-release/controller.rb', line 22
def css(id)
css_version = Css::Version.get(id)
raise MissingCssError.new(id) unless css_version
["Content-Type"] = "text/css"
css_version.render(self, css_version.css.path => css_version.css.cached)
end
|
#js(id) ⇒ Object
29
30
31
32
33
34
|
# File 'lib/merbiful-release/controller.rb', line 29
def js(id)
js_version = Js::Version.get(id)
raise MissingJsError.new(id) unless js_version
["Content-Type"] = "text/javascript"
js_version.render(self, js_version.js.path => js_version.js.cached)
end
|
#page(what) ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/merbiful-release/controller.rb', line 36
def page(what)
@page = Page.first(:path => what)
raise NotFound.new(what.inspect) unless @page
unless @page.jses.empty?
throw_content(:for_js, @page.jses.inject([]) do |sum, frozen_js|
js = Js.get(frozen_js.id)
sum << "<script src='#{js.path}' type='text/javascript'></script>"
end.join("\n"))
end
unless @page.csses.empty?
throw_content(:for_css, @page.csses.inject([]) do |sum, frozen_css|
css = Css.get(frozen_css.id)
sum << "<link href='#{css.path}' #{css.media.blank? ? "" : "media='#{css.media}' "}rel='Stylesheet' type='text/css' />"
end.join("\n"))
end
if @page.layout
throw_content :for_layout, @page.render(self)
@page.layout.render(self, @page.path => @page.cached)
else
@page.render(self, @page.path => @page.cached)
end
end
|
#root ⇒ Object
18
19
20
|
# File 'lib/merbiful-release/controller.rb', line 18
def root
Page.root
end
|