class SimpleBootstrapForm::HorizontalForm::FormBuilder

Public Class Methods

fully_qualified_class_name_for_field(field_class_name) click to toggle source
# File lib/simple_bootstrap_form/horizontal_form/form_builder.rb, line 16
def self.fully_qualified_class_name_for_field(field_class_name)
  # Better to do this manually than using introspection
  "SimpleBootstrapForm::HorizontalForm::Fields::#{field_class_name}"
end
new(object_name, object, template, options={}) click to toggle source
Calls superclass method
# File lib/simple_bootstrap_form/horizontal_form/form_builder.rb, line 5
def initialize(object_name, object, template, options={})
  @field_factory = FieldFactory.new self, template
  process_options options
  super object_name, object, template, options_for_rails_form_builder
end

Public Instance Methods

input(name, supplied_options = {}) click to toggle source
# File lib/simple_bootstrap_form/horizontal_form/form_builder.rb, line 11
def input(name, supplied_options = {})
  options = field_options(supplied_options)
  @field_factory.for_attribute(name, options).to_s
end

Private Instance Methods

field_input_size() click to toggle source
# File lib/simple_bootstrap_form/horizontal_form/form_builder.rb, line 54
def field_input_size
  @options[:input_size] || 'col-sm-6'
end
field_label_size() click to toggle source
# File lib/simple_bootstrap_form/horizontal_form/form_builder.rb, line 50
def field_label_size
  @options[:label_size] || 'col-sm-3'
end
field_options(supplied_options) click to toggle source
# File lib/simple_bootstrap_form/horizontal_form/form_builder.rb, line 42
def field_options(supplied_options)
  options = supplied_options.dup
  options[:label_size] ||= field_label_size
  options[:input_size] ||= field_input_size
  options[:group_class] = @group_class if @group_class == false
  options
end
form_css_classes() click to toggle source
# File lib/simple_bootstrap_form/horizontal_form/form_builder.rb, line 36
def form_css_classes
  css_classes = CssClassList.new options[:html][:class]
  css_classes << 'form-horizontal'
  css_classes
end
options_for_rails_form_builder() click to toggle source
# File lib/simple_bootstrap_form/horizontal_form/form_builder.rb, line 29
def options_for_rails_form_builder
  @options[:html] ||= {}
  @options[:html][:role] ||= 'form'
  @options[:html][:class] = form_css_classes
  @options
end
process_options(options) click to toggle source
# File lib/simple_bootstrap_form/horizontal_form/form_builder.rb, line 23
def process_options(options)
  @options = options.dup
  @options.delete :layout
  @group_class = @options.delete :group_class
end