Sha256: 5e11de2813f91cd0c63d7772687987fcfe4c45d372a24fe6d33522703c799d23

Contents?: true

Size: 1.73 KB

Versions: 1

Compression:

Stored size: 1.73 KB

Contents

require File.dirname(__FILE__) + '/abstract_form_builder' unless defined?(AbstractFormBuilder)

module Padrino
  module Helpers
    module FormBuilder #:nodoc:
      class StandardFormBuilder < AbstractFormBuilder #:nodoc:

        ##
        # StandardFormBuilder
        #
        #   text_field_block(:username, { :class => 'long' }, { :class => 'wide-label' })
        #   text_area_block(:summary, { :class => 'long' }, { :class => 'wide-label' })
        #   password_field_block(:password, { :class => 'long' }, { :class => 'wide-label' })
        #   file_field_block(:photo, { :class => 'long' }, { :class => 'wide-label' })
        #   check_box_block(:remember_me, { :class => 'long' }, { :class => 'wide-label' })
        #   select_block(:color, :options => ['green', 'black'])
        #
        (self.field_types - [ :hidden_field, :radio_button ]).each do |field_type|
          class_eval <<-EOF
          def #{field_type}_block(field, options={}, label_options={})
            label_options.reverse_merge!(:caption => options.delete(:caption)) if options[:caption]
            field_html = label(field, label_options)
            field_html << #{field_type}(field, options)
            @template.content_tag(:p, field_html)
          end
          EOF
        end

        # submit_block("Update")
        def submit_block(caption, options={})
          submit_html = self.submit(caption, options)
          @template.content_tag(:p, submit_html)
        end

        # image_submit_block("submit.png")
        def image_submit_block(source, options={})
          submit_html = self.image_submit(source, options)
          @template.content_tag(:p, submit_html)
        end
      end # StandardFormBuilder
    end # FormBuilder
  end # Helpers
end # Padrino

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
padrino-helpers-0.9.7 lib/padrino-helpers/form_builder/standard_form_builder.rb