Ruby 1.9.2: work around changes to flatten and nil.to_str

This commit is contained in:
Jeremy Kemper
2009-11-08 21:55:43 -08:00
parent 7ad461b44d
commit 20cdaddfd2
6 changed files with 23 additions and 17 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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