Class: Inquisitive::Array

Inherits:
Array
  • Object
show all
Includes:
Utils
Defined in:
lib/inquisitive/array.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name, *arguments) ⇒ Object (private)



19
20
21
22
23
24
25
# File 'lib/inquisitive/array.rb', line 19

def method_missing(method_name, *arguments)
  if predicate_method? method_name
    (include? predication(method_name)) ^ negated
  else
    super
  end
end

Instance Attribute Details

#negatedObject

Returns the value of attribute negated.



5
6
7
# File 'lib/inquisitive/array.rb', line 5

def negated
  @negated
end

Instance Method Details

#===(other) ⇒ Object



10
11
12
# File 'lib/inquisitive/array.rb', line 10

def === other
  other.class == Class and other == ::Array or super
end

#excludeObject



6
7
8
# File 'lib/inquisitive/array.rb', line 6

def exclude
  self.dup.tap{ |a| a.negated = !a.negated }
end