diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-01-17 18:52:48 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-01-17 18:52:48 -0300 |
commit | 6f1bf526d7f1869b47f6047c4285c673bb06d0ec (patch) | |
tree | 5370cdc6e980e4a223c5ac88251d361a62a0a9f2 | |
parent | 8b4c74f77cd7fe3f2264c18f4ddc7dd495493c4b (diff) | |
download | rails-6f1bf526d7f1869b47f6047c4285c673bb06d0ec.tar.gz rails-6f1bf526d7f1869b47f6047c4285c673bb06d0ec.tar.bz2 rails-6f1bf526d7f1869b47f6047c4285c673bb06d0ec.zip |
Extract input_checked? to a module
4 files changed, 24 insertions, 9 deletions
diff --git a/actionpack/lib/action_view/helpers/tags/base.rb b/actionpack/lib/action_view/helpers/tags/base.rb index 7580cbe20d..24956beb9c 100644 --- a/actionpack/lib/action_view/helpers/tags/base.rb +++ b/actionpack/lib/action_view/helpers/tags/base.rb @@ -48,15 +48,6 @@ module ActionView nil end - def input_checked?(object, options) - if options.has_key?("checked") - checked = options.delete "checked" - checked == true || checked == "checked" - else - checked?(value(object)) - end - end - def retrieve_autoindex(pre_match) object = self.object || @template_object.instance_variable_get("@#{pre_match}") if object && object.respond_to?(:to_param) diff --git a/actionpack/lib/action_view/helpers/tags/check_box.rb b/actionpack/lib/action_view/helpers/tags/check_box.rb index 2cdc13524b..b3bd6eb2ad 100644 --- a/actionpack/lib/action_view/helpers/tags/check_box.rb +++ b/actionpack/lib/action_view/helpers/tags/check_box.rb @@ -1,7 +1,11 @@ +require 'action_view/helpers/tags/checkable' + module ActionView module Helpers module Tags class CheckBox < Base #:nodoc: + include Checkable + def initialize(object_name, method_name, template_object, checked_value, unchecked_value, options) @checked_value = checked_value @unchecked_value = unchecked_value diff --git a/actionpack/lib/action_view/helpers/tags/checkable.rb b/actionpack/lib/action_view/helpers/tags/checkable.rb new file mode 100644 index 0000000000..b97c0c68d7 --- /dev/null +++ b/actionpack/lib/action_view/helpers/tags/checkable.rb @@ -0,0 +1,16 @@ +module ActionView + module Helpers + module Tags + module Checkable + def input_checked?(object, options) + if options.has_key?("checked") + checked = options.delete "checked" + checked == true || checked == "checked" + else + checked?(value(object)) + end + end + end + end + end +end diff --git a/actionpack/lib/action_view/helpers/tags/radio_button.rb b/actionpack/lib/action_view/helpers/tags/radio_button.rb index 72edd21662..8a0421f061 100644 --- a/actionpack/lib/action_view/helpers/tags/radio_button.rb +++ b/actionpack/lib/action_view/helpers/tags/radio_button.rb @@ -1,7 +1,11 @@ +require 'action_view/helpers/tags/checkable' + module ActionView module Helpers module Tags class RadioButton < Base #:nodoc: + include Checkable + def initialize(object_name, method_name, template_object, tag_value, options) @tag_value = tag_value super(object_name, method_name, template_object, options) |