class ActiveSupport::ArrayInquirer
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
Public Instance Methods
any?(*candidates, &block)
click to toggle source
Passes each element of candidates
collection to ArrayInquirer collection. The method returns
true if at least one element is the same. 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
Calls superclass method
# File lib/active_support/array_inquirer.rb, line 21 def any?(*candidates, &block) if candidates.none? super else candidates.any? do |candidate| include?(candidate.to_sym) || include?(candidate.to_s) end end end
Private Instance Methods
method_missing(name, *args)
click to toggle source
Calls superclass method
# File lib/active_support/array_inquirer.rb, line 36 def method_missing(name, *args) if name[-1] == '?' any?(name[0..-2]) else super end end
respond_to_missing?(name, include_private = false)
click to toggle source
# File lib/active_support/array_inquirer.rb, line 32 def respond_to_missing?(name, include_private = false) name[-1] == '?' end