Wrapping an array in an ArrayInquirer
gives a friendlier way to check its string-like contents:
variants = ActiveSupport::ArrayInquirer.new([:phone, :tablet])
variants.phone? # => true
variants.tablet? # => true
variants.desktop? # => false
Methods
Instance Public methods
any?(*candidates)
Passes each element of candidates
collection to ArrayInquirer
collection. The method returns true if any element from the ArrayInquirer
collection is equal to the stringified or symbolized form of any element in the candidates
collection.
If candidates
collection is not given, method returns true.
variants = ActiveSupport::ArrayInquirer.new([:phone, :tablet])
variants.any? # => true
variants.any?(:phone, :tablet) # => true
variants.any?('phone', 'desktop') # => true
variants.any?(:desktop, :watch) # => false
📝 Source code
# File activesupport/lib/active_support/array_inquirer.rb, line 25
def any?(*candidates)
if candidates.none?
super
else
candidates.any? do |candidate|
include?(candidate.to_sym) || include?(candidate.to_s)
end
end
end
🔎 See on GitHub