mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Ruby 1.9.2: work around changes to flatten and nil.to_str
This commit is contained in:
@@ -43,7 +43,8 @@ module ActiveSupport
|
||||
# ActiveSupport::Cache.lookup_store(MyOwnCacheStore.new)
|
||||
# # => returns MyOwnCacheStore.new
|
||||
def self.lookup_store(*store_option)
|
||||
store, *parameters = *([ store_option ].flatten)
|
||||
store = store_option.shift
|
||||
parameters = store_option
|
||||
|
||||
case store
|
||||
when Symbol
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
require 'active_support/time'
|
||||
require 'active_support/core_ext/array/wrap'
|
||||
require 'active_support/core_ext/hash/reverse_merge'
|
||||
|
||||
class Hash
|
||||
@@ -138,7 +139,7 @@ class Hash
|
||||
case value.class.to_s
|
||||
when 'Hash'
|
||||
if value['type'] == 'array'
|
||||
child_key, entries = value.detect { |k,v| k != 'type' } # child_key is throwaway
|
||||
child_key, entries = Array.wrap(value.detect { |k,v| k != 'type' }) # child_key is throwaway
|
||||
if entries.nil? || (c = value['__content__'] && c.blank?)
|
||||
[]
|
||||
else
|
||||
|
||||
@@ -339,7 +339,7 @@ module ActiveSupport #:nodoc:
|
||||
next
|
||||
end
|
||||
[ nesting_camel ]
|
||||
end.flatten.compact.uniq
|
||||
end.compact.flatten.compact.uniq
|
||||
end
|
||||
|
||||
# Search for a file in load_paths matching the provided suffix.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
require 'active_support/core_ext/array/extract_options'
|
||||
require 'active_support/core_ext/array/wrap'
|
||||
|
||||
module ActiveSupport
|
||||
# Callbacks are hooks into the lifecycle of an object that allow you to trigger logic
|
||||
@@ -194,8 +195,8 @@ module ActiveSupport
|
||||
end
|
||||
|
||||
def should_run_callback?(*args)
|
||||
[options[:if]].flatten.compact.all? { |a| evaluate_method(a, *args) } &&
|
||||
![options[:unless]].flatten.compact.any? { |a| evaluate_method(a, *args) }
|
||||
Array.wrap(options[:if]).flatten.compact.all? { |a| evaluate_method(a, *args) } &&
|
||||
!Array.wrap(options[:unless]).flatten.compact.any? { |a| evaluate_method(a, *args) }
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -23,15 +23,18 @@ module ActiveSupport
|
||||
private
|
||||
def convert_dates_from(data)
|
||||
case data
|
||||
when DATE_REGEX
|
||||
DateTime.parse(data)
|
||||
when Array
|
||||
data.map! { |d| convert_dates_from(d) }
|
||||
when Hash
|
||||
data.each do |key, value|
|
||||
data[key] = convert_dates_from(value)
|
||||
end
|
||||
else data
|
||||
when nil
|
||||
nil
|
||||
when DATE_REGEX
|
||||
DateTime.parse(data)
|
||||
when Array
|
||||
data.map! { |d| convert_dates_from(d) }
|
||||
when Hash
|
||||
data.each do |key, value|
|
||||
data[key] = convert_dates_from(value)
|
||||
end
|
||||
else
|
||||
data
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -228,8 +228,8 @@ class MultibyteCharsUTF8BehaviourTest < Test::Unit::TestCase
|
||||
assert !@chars.include?('a')
|
||||
end
|
||||
|
||||
def test_include_raises_type_error_when_nil_is_passed
|
||||
assert_raise(TypeError) do
|
||||
def test_include_raises_when_nil_is_passed
|
||||
assert_raise(RUBY_VERSION >= '1.9.2' ? NoMethodError : TypeError) do
|
||||
@chars.include?(nil)
|
||||
end
|
||||
end
|
||||
@@ -659,4 +659,4 @@ class MultibyteInternalsTest < ActiveSupport::TestCase
|
||||
"Expected byte offset #{byte_offset} to translate to #{character_offset}"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user