提交 798b5efe 编写于 作者: J José Valim

Merge pull request #4333 from rafaelfranca/patch-1

Change more Array.wrap calls
......@@ -167,7 +167,7 @@ def _insert_callbacks(callbacks, block)
# for details on the allowed parameters.
def #{filter}_filter(*names, &blk) # def before_filter(*names, &blk)
_insert_callbacks(names, blk) do |name, options| # _insert_callbacks(names, blk) do |name, options|
options[:if] = (Array.wrap(options[:if]) << "!halted") if #{filter == :after} # options[:if] = (Array.wrap(options[:if]) << "!halted") if false
options[:if] = (Array(options[:if]) << "!halted") if #{filter == :after} # options[:if] = (Array(options[:if]) << "!halted") if false
set_callback(:process_action, :#{filter}, name, options) # set_callback(:process_action, :before, name, options)
end # end
end # end
......@@ -176,7 +176,7 @@ def #{filter}_filter(*names, &blk)
# for details on the allowed parameters.
def prepend_#{filter}_filter(*names, &blk) # def prepend_before_filter(*names, &blk)
_insert_callbacks(names, blk) do |name, options| # _insert_callbacks(names, blk) do |name, options|
options[:if] = (Array.wrap(options[:if]) << "!halted") if #{filter == :after} # options[:if] = (Array.wrap(options[:if]) << "!halted") if false
options[:if] = (Array(options[:if]) << "!halted") if #{filter == :after} # options[:if] = (Array(options[:if]) << "!halted") if false
set_callback(:process_action, :#{filter}, name, options.merge(:prepend => true)) # set_callback(:process_action, :before, name, options.merge(:prepend => true))
end # end
end # end
......
......@@ -89,7 +89,7 @@ def view_paths
# * <tt>paths</tt> - If a PathSet is provided, use that;
# otherwise, process the parameter into a PathSet.
def view_paths=(paths)
self._view_paths = ActionView::PathSet.new(Array.wrap(paths))
self._view_paths = ActionView::PathSet.new(Array(paths))
end
end
end
......
require 'active_support/core_ext/array/wrap'
require 'active_support/core_ext/class/attribute'
module ActionController
......@@ -94,7 +93,7 @@ def modules_for_helpers(args)
def all_helpers_from_path(path)
helpers = []
Array.wrap(path).each do |_path|
Array(path).each do |_path|
extract = /^#{Regexp.quote(_path.to_s)}\/?(.*)_helper.rb$/
helpers += Dir["#{_path}/**/*_helper.rb"].map { |file| file.sub(extract, '\1') }
end
......
require 'active_support/core_ext/class/attribute'
require 'active_support/core_ext/hash/slice'
require 'active_support/core_ext/hash/except'
require 'active_support/core_ext/array/wrap'
require 'active_support/core_ext/module/anonymous'
require 'action_dispatch/http/mime_types'
......@@ -43,9 +42,9 @@ module ActionController
# wrap_parameters :person, :include => [:username, :password]
# end
#
# On ActiveRecord models with no +:include+ or +:exclude+ option set,
# On ActiveRecord models with no +:include+ or +:exclude+ option set,
# if attr_accessible is set on that model, it will only wrap the accessible
# parameters, else it will only wrap the parameters returned by the class
# parameters, else it will only wrap the parameters returned by the class
# method attribute_names.
#
# If you're going to pass the parameters to an +ActiveModel+ object (such as
......@@ -180,9 +179,9 @@ def _set_wrapper_defaults(options, model=nil)
controller_name.singularize
end
options[:include] = Array.wrap(options[:include]).collect(&:to_s) if options[:include]
options[:exclude] = Array.wrap(options[:exclude]).collect(&:to_s) if options[:exclude]
options[:format] = Array.wrap(options[:format])
options[:include] = Array(options[:include]).collect(&:to_s) if options[:include]
options[:exclude] = Array(options[:exclude]).collect(&:to_s) if options[:exclude]
options[:format] = Array(options[:format])
self._wrapper_options = options
end
......
......@@ -50,7 +50,7 @@ def parameter_filter
end
def env_filter
parameter_filter_for(Array.wrap(@env["action_dispatch.parameter_filter"]) << /RAW_POST_DATA/)
parameter_filter_for(Array(@env["action_dispatch.parameter_filter"]) << /RAW_POST_DATA/)
end
def parameter_filter_for(filters)
......
require 'active_support/core_ext/module/attr_internal'
require 'active_support/core_ext/module/delegation'
require 'active_support/core_ext/class/attribute'
require 'active_support/core_ext/array/wrap'
require 'active_support/ordered_options'
require 'action_view/log_subscriber'
require 'active_support/core_ext/module/deprecation'
......@@ -160,7 +159,7 @@ def cache_template_loading=(value)
def process_view_paths(value)
value.is_a?(PathSet) ?
value.dup : ActionView::PathSet.new(Array.wrap(value))
value.dup : ActionView::PathSet.new(Array(value))
end
deprecate :process_view_paths
......
......@@ -134,7 +134,7 @@ module FormOptionsHelper
#
# ==== Gotcha
#
# The HTML specification says when +multiple+ parameter passed to select and all options got deselected
# The HTML specification says when +multiple+ parameter passed to select and all options got deselected
# web browsers do not send any value to server. Unfortunately this introduces a gotcha:
# if an +User+ model has many +roles+ and have +role_ids+ accessor, and in the form that edits roles of the user
# the user deselects all roles from +role_ids+ multiple select box, no +role_ids+ parameter is sent. So,
......@@ -322,8 +322,8 @@ def time_zone_select(object, method, priority_zones = nil, options = {}, html_op
def options_for_select(container, selected = nil)
return container if String === container
selected, disabled = extract_selected_and_disabled(selected).map do | r |
Array.wrap(r).map { |item| item.to_s }
selected, disabled = extract_selected_and_disabled(selected).map do |r|
Array(r).map { |item| item.to_s }
end
container.map do |element|
......@@ -333,7 +333,6 @@ def options_for_select(container, selected = nil)
disabled_attribute = ' disabled="disabled"' if disabled && option_value_selected?(value, disabled)
%(<option value="#{ERB::Util.html_escape(value)}"#{selected_attribute}#{disabled_attribute}#{html_attributes}>#{ERB::Util.html_escape(text)}</option>)
end.join("\n").html_safe
end
# Returns a string of option tags that have been compiled by iterating over the +collection+ and assigning the
......@@ -508,9 +507,9 @@ def time_zone_options_for_select(selected = nil, priority_zones = nil, model = :
convert_zones = lambda { |list| list.map { |z| [ z.to_s, z.name ] } }
if priority_zones
if priority_zones.is_a?(Regexp)
if priority_zones.is_a?(Regexp)
priority_zones = model.all.find_all {|z| z =~ priority_zones}
end
end
zone_options += options_for_select(convert_zones[priority_zones], selected)
zone_options += "<option value=\"\" disabled=\"disabled\">-------------</option>\n"
......@@ -558,7 +557,8 @@ def extract_selected_and_disabled(selected)
else
selected = Array.wrap(selected)
options = selected.extract_options!.symbolize_keys
[ options.include?(:selected) ? options[:selected] : selected, options[:disabled] ]
selected_items = options.include?(:selected) ? options[:selected] : selected
[ selected_items, options[:disabled] ]
end
end
......@@ -629,7 +629,7 @@ def select_content_tag(option_tags, options, html_options)
add_default_name_and_id(html_options)
select = content_tag("select", add_options(option_tags, options, value(object)), html_options)
if html_options["multiple"]
tag("input", :disabled => html_options["disabled"], :name => html_options["name"], :type => "hidden", :value => "") + select
tag("input", :disabled => html_options["disabled"], :name => html_options["name"], :type => "hidden", :value => "") + select
else
select
end
......
require 'active_support/core_ext/array/wrap'
require 'active_support/core_ext/object/blank'
require 'active_support/core_ext/module/remove_method'
......@@ -29,7 +28,7 @@ def #{name}
end
def #{name}=(value)
value = value.present? ? Array.wrap(value) : default_#{name}
value = value.present? ? Array(value) : default_#{name}
_set_detail(:#{name}, value) if value != @details[:#{name}]
end
......@@ -102,7 +101,7 @@ module ViewPaths
# Whenever setting view paths, makes a copy so we can manipulate then in
# instance objects as we wish.
def view_paths=(paths)
@view_paths = ActionView::PathSet.new(Array.wrap(paths))
@view_paths = ActionView::PathSet.new(Array(paths))
end
def find(name, prefixes = [], partial = false, keys = [], options = {})
......
......@@ -12,16 +12,16 @@ def render
end
protected
def extract_details(options)
details = {}
@lookup_context.registered_details.each do |key|
next unless value = options[key]
details[key] = Array.wrap(value)
details[key] = Array(value)
end
details
end
def instrument(name, options={})
ActiveSupport::Notifications.instrument("render_#{name}.action_view", options){ yield }
end
......
require 'active_support/core_ext/object/try'
require 'active_support/core_ext/array/wrap'
module ActionView
class TemplateRenderer < AbstractRenderer #:nodoc:
......
require 'active_support/core_ext/array/wrap'
require 'active_support/core_ext/object/blank'
require 'active_support/core_ext/object/try'
require 'active_support/core_ext/kernel/singleton_class'
......@@ -122,7 +121,7 @@ def initialize(source, identifier, handler, details)
@locals = details[:locals] || []
@virtual_path = details[:virtual_path]
@updated_at = details[:updated_at] || Time.now
@formats = Array.wrap(format).map { |f| f.is_a?(Mime::Type) ? f.ref : f }
@formats = Array(format).map { |f| f.is_a?(Mime::Type) ? f.ref : f }
end
# Returns if the underlying handler supports streaming. If so,
......
require "active_support/core_ext/array/wrap"
require "active_support/core_ext/enumerable"
module ActionView
......@@ -30,7 +29,7 @@ class MissingTemplate < ActionViewError #:nodoc:
def initialize(paths, path, prefixes, partial, details, *)
@path = path
prefixes = Array.wrap(prefixes)
prefixes = Array(prefixes)
template_type = if partial
"partial"
elsif path =~ /layouts/i
......
......@@ -254,7 +254,7 @@ def get(thing, *args)
end
def assert_body(body)
assert_equal body, Array.wrap(response.body).join
assert_equal body, Array(response.body).join
end
def assert_status(code)
......@@ -262,7 +262,7 @@ def assert_status(code)
end
def assert_response(body, status = 200, headers = {})
assert_body body
assert_body body
assert_status status
headers.each do |header, value|
assert_header header, value
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册