Skip to Content Skip to Search

class ActiveSupport::ArrayInquirer

Array Inquirer

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

Inherits From

Public instance methods

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 GitHub
# File activesupport/lib/active_support/array_inquirer.rb, line 27
def any?(*candidates)
  if candidates.none?
    super
  else
    candidates.any? do |candidate|
      include?(candidate.to_sym) || include?(candidate.to_s)
    end
  end
end

Definition files