class Formic::Base
Attributes
content[RW]
options[R]
page[R]
template[RW]
Public Class Methods
default_template(given_default_template)
click to toggle source
# File lib/formic/base.rb, line 6 def self.default_template given_default_template @template = given_default_template end
new(page, *args, &block)
click to toggle source
# File lib/formic/base.rb, line 18 def initialize page, *args, &block @page = page @options = {:class => []} _initialize *args, &block @options[:class].unshift( self.class.to_s.split('::').last.underscore ) self.formics.unshift self end
template()
click to toggle source
# File lib/formic/base.rb, line 10 def self.template @template || self.superclass.template end
Public Instance Methods
_initialize(options={})
click to toggle source
# File lib/formic/base.rb, line 39 def _initialize options={}, &block self.merge_options options @content = block if block_given? return self end
add_class(classname)
click to toggle source
# File lib/formic/base.rb, line 60 def add_class classname self.options[:class].push classname end
formics()
click to toggle source
# File lib/formic/base.rb, line 49 def formics @page.instance_variable_set(:@formics, []) unless @page.instance_variable_get(:@formics) @page.instance_variable_get(:@formics) end
has_class?(classname)
click to toggle source
# File lib/formic/base.rb, line 45 def has_class? classname return self.options[:class].include? classname end
merge_options(new_options)
click to toggle source
# File lib/formic/base.rb, line 54 def merge_options new_options classes = [@options[:class], new_options[:class]].reject {|element| element.nil?} classes = classes.flatten.join(' ').split(' ').uniq @options.merge!(new_options).merge!(:class => classes) end
method_missing(method, *args, &block)
click to toggle source
# File lib/formic/base.rb, line 33 def method_missing method, *args, &block _initialize *args, &block self.add_class(method.to_s) return self end
to_s()
click to toggle source
# File lib/formic/base.rb, line 27 def to_s rendered = self.page.render :partial => self.template, :locals => {:element => self} self.formics.shift return rendered end