class Juggalo::Layout

Attributes

regions[RW]

Public Class Methods

new(template_location) click to toggle source
# File lib/juggalo/layout.rb, line 7
def initialize(template_location)
  @regions={}
  self.template_file = template_location
end

Public Instance Methods

method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/juggalo/layout.rb, line 12
def method_missing(name, *args, &block)
  return super unless respond_to? name.to_s
  region @regions[name.to_s]
end
region(components) click to toggle source
# File lib/juggalo/layout.rb, line 21
def region(components)
  components.map { |c| c.present }.join unless components.nil?
end
respond_to?(method) click to toggle source
# File lib/juggalo/layout.rb, line 17
def respond_to?(method)
  valid_regions.include? method.to_s
end
valid_regions() click to toggle source
# File lib/juggalo/layout.rb, line 25
def valid_regions
  self.template.tokens.find_all { |token|
    token.is_a?(Array) && token[0] == :mustache
  }.map{ |token|
    token[2][2][0].to_s
  }
end