From 6f1bf526d7f1869b47f6047c4285c673bb06d0ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Tue, 17 Jan 2012 18:52:48 -0300 Subject: Extract input_checked? to a module --- actionpack/lib/action_view/helpers/tags/base.rb | 9 --------- actionpack/lib/action_view/helpers/tags/check_box.rb | 4 ++++ actionpack/lib/action_view/helpers/tags/checkable.rb | 16 ++++++++++++++++ actionpack/lib/action_view/helpers/tags/radio_button.rb | 4 ++++ 4 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 actionpack/lib/action_view/helpers/tags/checkable.rb (limited to 'actionpack/lib') 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) -- cgit v1.2.3