Start to use autoload.
This commit is contained in:
parent
0ee5dfc222
commit
727f29567a
|
@ -1,5 +1,8 @@
|
|||
require 'simple_form/builder_extensions'
|
||||
require 'simple_form/form_helper'
|
||||
require 'simple_form/form_builder'
|
||||
require 'simple_form/action_view_extensions/form_helper'
|
||||
require 'simple_form/action_view_extensions/builder'
|
||||
|
||||
ActionView::Helpers::FormBuilder.send :include, SimpleForm::BuilderExtensions
|
||||
module SimpleForm
|
||||
autoload :FormBuilder, 'simple_form/form_builder'
|
||||
autoload :I18nCache, 'simple_form/i18n_cache'
|
||||
autoload :MapType, 'simple_form/map_type'
|
||||
end
|
|
@ -0,0 +1,19 @@
|
|||
module SimpleForm
|
||||
module ActionViewExtensions
|
||||
# A collection of methods required by simple_form but added to rails default form.
|
||||
# This means that you can use such methods outside simple_form context.
|
||||
module Builder
|
||||
def collection_radio(attribute, collection, value_method, text_method, html_options={})
|
||||
collection.inject('') do |result, item|
|
||||
value = item.send value_method
|
||||
text = item.send text_method
|
||||
|
||||
result << radio_button(attribute, value, html_options) <<
|
||||
label("#{attribute}_#{value}", text, :class => "radio")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
ActionView::Helpers::FormBuilder.send :include, SimpleForm::ActionViewExtensions::Builder
|
|
@ -0,0 +1,13 @@
|
|||
module SimpleForm
|
||||
module ActionViewExtensions
|
||||
module FormHelper
|
||||
def simple_form_for(*args, &block)
|
||||
options = args.extract_options!
|
||||
options[:builder] = SimpleForm::FormBuilder
|
||||
form_for(*(args << options), &block)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
ActionView::Base.send :include, SimpleForm::ActionViewExtensions::FormHelper
|
|
@ -1,15 +0,0 @@
|
|||
module SimpleForm
|
||||
# A collection of methods required by simple_form but added to rails default form.
|
||||
# This means that you can use such methods outside simple_form context.
|
||||
module BuilderExtensions
|
||||
def collection_radio(attribute, collection, value_method, text_method, html_options={})
|
||||
collection.inject('') do |result, item|
|
||||
value = item.send value_method
|
||||
text = item.send text_method
|
||||
|
||||
result << radio_button(attribute, value, html_options) <<
|
||||
label("#{attribute}_#{value}", text, :class => "radio")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,12 +0,0 @@
|
|||
module SimpleForm
|
||||
module FormHelper
|
||||
|
||||
def simple_form_for(*args, &block)
|
||||
options = args.extract_options!
|
||||
options[:builder] = SimpleForm::FormBuilder
|
||||
form_for(*(args << options), &block)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
ActionView::Base.send :include, SimpleForm::FormHelper
|
|
@ -13,7 +13,7 @@ I18n.default_locale = :en
|
|||
class ActionView::TestCase
|
||||
include I18nHelper
|
||||
|
||||
tests SimpleForm::FormHelper
|
||||
tests SimpleForm::ActionViewExtensions::FormHelper
|
||||
|
||||
setup :set_controller
|
||||
setup :set_response
|
||||
|
|
Loading…
Reference in New Issue