diff options
Diffstat (limited to 'actionpack/lib/action_view/helpers/tags/check_box.rb')
-rw-r--r-- | actionpack/lib/action_view/helpers/tags/check_box.rb | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/actionpack/lib/action_view/helpers/tags/check_box.rb b/actionpack/lib/action_view/helpers/tags/check_box.rb deleted file mode 100644 index e21cc07746..0000000000 --- a/actionpack/lib/action_view/helpers/tags/check_box.rb +++ /dev/null @@ -1,64 +0,0 @@ -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 - super(object_name, method_name, template_object, options) - end - - def render - options = @options.stringify_keys - options["type"] = "checkbox" - options["value"] = @checked_value - options["checked"] = "checked" if input_checked?(object, options) - - if options["multiple"] - add_default_name_and_id_for_value(@checked_value, options) - options.delete("multiple") - else - add_default_name_and_id(options) - end - - include_hidden = options.delete("include_hidden") { true } - checkbox = tag("input", options) - - if include_hidden - hidden = hidden_field_for_checkbox(options) - hidden + checkbox - else - checkbox - end - end - - private - - def checked?(value) - case value - when TrueClass, FalseClass - value == !!@checked_value - when NilClass - false - when String - value == @checked_value - else - if value.respond_to?(:include?) - value.include?(@checked_value) - else - value.to_i == @checked_value.to_i - end - end - end - - def hidden_field_for_checkbox(options) - @unchecked_value ? tag("input", options.slice("name", "disabled", "form").merge!("type" => "hidden", "value" => @unchecked_value)) : "".html_safe - end - end - end - end -end |