Permalink
Browse files

ArrayInquirer to correctly find symbols or strings

The problem existed where if your ArrayInquirer values were
strings but you checked them using any? with a symbol, it would
not find the value. Now it will correctly check whether both
the String form or the Symbol form are included in the Array.

`
  • Loading branch information...
Leigh Halliday
Leigh Halliday committed Aug 28, 2015
1 parent cbe7899 commit 7abbe137b7d19686f3a3be1414fadd41b7886334
@@ -1,13 +1,19 @@
* `number_to_currency` and `number_with_delimiter` now accept custom `delimiter_pattern` option
to handle placement of delimiter, to support currency formats like INR
Example:
* `ActiveSupport::ArrayInquirer` will now properly find your entry regardless of whether the array
values are of type String or type Symbol, and whether you are asking `any?` with a String or
a Symbol.
*Leigh Halliday*
* `number_to_currency` and `number_with_delimiter` now accept custom `delimiter_pattern` option
to handle placement of delimiter, to support currency formats like INR
Example:
number_to_currency(1230000, delimiter_pattern: /(\d+?)(?=(\d\d)+(\d)(?!\d))/, unit: '₹', format: "%u %n")
# => '₹ 12,30,000.00'
# => '₹ 12,30,000.00'
*Vipul A M*
* Deprecate `:prefix` option of `number_to_human_size` with no replacement.
*Jean Boussier*
@@ -23,7 +23,7 @@ def any?(*candidates, &block)
super
else
candidates.any? do |candidate|
include?(candidate) || include?(candidate.to_sym)
include?(candidate.to_sym) || include?(candidate.to_s)
end
end
end
@@ -3,7 +3,7 @@
class ArrayInquirerTest < ActiveSupport::TestCase
def setup
@array_inquirer = ActiveSupport::ArrayInquirer.new([:mobile, :tablet])
@array_inquirer = ActiveSupport::ArrayInquirer.new([:mobile, :tablet, 'api'])
end
def test_individual
@@ -18,6 +18,11 @@ def test_any
assert_not @array_inquirer.any?(:desktop, :watch)
end
def test_any_string_symbol_mismatch
assert @array_inquirer.any?('mobile')
assert @array_inquirer.any?(:api)
end
def test_any_with_block
assert @array_inquirer.any? { |v| v == :mobile }
assert_not @array_inquirer.any? { |v| v == :desktop }
@@ -28,7 +33,7 @@ def test_respond_to
end
def test_inquiry
result = [:mobile, :tablet].inquiry
result = [:mobile, :tablet, 'api'].inquiry
assert_instance_of ActiveSupport::ArrayInquirer, result
assert_equal @array_inquirer, result

0 comments on commit 7abbe13

Please sign in to comment.