aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/helpers/tags/text_area.rb
blob: 461a049fc2007acf985f7bc06724c49d244ccb46 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
module ActionView
  module Helpers
    module Tags
      class TextArea < Base #:nodoc:
        DEFAULT_TEXT_AREA_OPTIONS = { "cols" => 40, "rows" => 20 }

        def render
          options = DEFAULT_TEXT_AREA_OPTIONS.merge(@options.stringify_keys)
          add_default_name_and_id(options)

          if size = options.delete("size")
            options["cols"], options["rows"] = size.split("x") if size.respond_to?(:split)
          end

          content_tag("textarea", "\n#{options.delete('value') || value_before_type_cast(object)}", options)
        end
      end
    end
  end
end