Class: RubySlippers::Engine::Context
- Includes:
- Template
- Defined in:
- lib/ruby_slippers/context.rb
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
Instance Method Summary collapse
-
#initialize(ctx = {}, config = {}, path = "/", env = {}) ⇒ Context
constructor
A new instance of Context.
- #method_missing(m, *args, &blk) ⇒ Object
- #render(page, type) ⇒ Object
- #title ⇒ Object
- #to_xml(page) ⇒ Object (also: #to_atom)
Methods included from Template
Constructor Details
#initialize(ctx = {}, config = {}, path = "/", env = {}) ⇒ Context
Returns a new instance of Context.
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/ruby_slippers/context.rb', line 7 def initialize ctx = {}, config = {}, path = "/", env = {} @config, @context, @path, @env = config, ctx, path, env @articles = Site.articles(@config[:ext]).reverse.map do |a| Article.new(a, @config) end ctx.each do |k, v| (k) { ctx.instance_of?(Hash) ? v : ctx.send(k) } end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(m, *args, &blk) ⇒ Object
33 34 35 |
# File 'lib/ruby_slippers/context.rb', line 33 def method_missing m, *args, &blk @context.respond_to?(m) ? @context.send(m, *args, &blk) : super end |
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
5 6 7 |
# File 'lib/ruby_slippers/context.rb', line 5 def env @env end |
Instance Method Details
#render(page, type) ⇒ Object
22 23 24 25 |
# File 'lib/ruby_slippers/context.rb', line 22 def render page, type content = to_html page, @config type == :html ? to_html(:layout, @config, &Proc.new { content }) : send(:"to_#{type}", page) end |
#title ⇒ Object
18 19 20 |
# File 'lib/ruby_slippers/context.rb', line 18 def title @config[:title] end |