class Seory::Page
Attributes
assign_name_accessors[R]
Public Class Methods
new(*conditions, &block)
click to toggle source
# File lib/seory/page.rb, line 12 def initialize(*conditions, &block) @conditions = if block_given? [Condition::Block.new(block)] elsif conditions.first == :default :default else conditions.map {|condition| Seory::Condition[condition] } end raise EmptyCondition if @conditions.blank? @contents, @assign_name_accessors = {}, [] end
Public Instance Methods
assign_reader(*assign_names)
click to toggle source
# File lib/seory/page.rb, line 31 def assign_reader(*assign_names) if (taken = Seory::CONTENTS & assign_names).size > 0 raise AccessorNameTaken, taken.join(', ') end assign_name_accessors.concat(assign_names) end
content_for(name)
click to toggle source
# File lib/seory/page.rb, line 39 def content_for(name) @contents[name] end
default?()
click to toggle source
# File lib/seory/page.rb, line 49 def default? @conditions == :default end
define(name, value = nil, &block)
click to toggle source
# File lib/seory/page.rb, line 27 def define(name, value = nil, &block) @contents[name] = block_given? ? block : value end
match?(controller)
click to toggle source
# File lib/seory/page.rb, line 43 def match?(controller) return true if default? @conditions.any? {|condition| condition.match?(controller) } end