Module: Inquisitive

Included in:
Array, Environment, Hash, NilClass, String
Defined in:
lib/inquisitive.rb,
lib/inquisitive/hash.rb,
lib/inquisitive/array.rb,
lib/inquisitive/string.rb,
lib/inquisitive/nil_class.rb,
lib/inquisitive/environment.rb,
lib/inquisitive/hash_with_indifferent_access.rb

Defined Under Namespace

Modules: Environment Classes: Array, Hash, HashWithIndifferentAccess, NilClass, String

Class Method Summary collapse

Class Method Details

.[](object) ⇒ Object



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

def [](object)
  Inquisitive.const_get(:"#{object.class}", false).new object
rescue NameError
  object
end

.present?(object) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/inquisitive.rb', line 11

def present?(object)
  case object
  when ::String, String
    not object.empty?
  when ::Array, Array
    object.any? do |value|
      Inquisitive.present? value
    end
  when ::Hash, Hash
    object.values.any? do |value|
      Inquisitive.present? value
    end
  when ::NilClass, NilClass
    false
  else
    !!object
  end
end