class Erector::Rails::FormBuilder

Attributes

parent[R]
template[R]

Public Class Methods

new(object_name, object, template, options, proc) click to toggle source
# File lib/erector/rails/form_builder.rb, line 16
def initialize(object_name, object, template, options, proc)
  @template = template
  @parent = parent_builder_class.new(object_name, object, template, options, proc)
end
wrapping(parent_builder_class) click to toggle source
# File lib/erector/rails/form_builder.rb, line 7
def self.wrapping(parent_builder_class)
  return self if parent_builder_class.nil?
  Class.new(self).tap do |klass|
    klass.parent_builder_class = parent_builder_class
  end
end

Public Instance Methods

method_missing(method_name, *args, &block) click to toggle source
# File lib/erector/rails/form_builder.rb, line 21
def method_missing(method_name, *args, &block)
  if parent.respond_to?(method_name)
    return_value = parent.send(method_name, *args, &block)
    if return_value.is_a?(String)
      template.concat(return_value)
      nil
    else
      return_value
    end
  else
    super
  end
end