Module: Inquisitive
- Defined in:
- lib/inquisitive.rb,
lib/inquisitive/hash.rb,
lib/inquisitive/array.rb,
lib/inquisitive/utils.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, Utils
Classes: Array, Hash, HashWithIndifferentAccess, NilClass, String
Class Method Summary
collapse
Class Method Details
.coerce(object) ⇒ Object
Also known as:
[]
5
6
7
8
9
|
# File 'lib/inquisitive.rb', line 5
def coerce(object)
coerce! object
rescue NameError
object
end
|
.coerce!(object) ⇒ Object
12
13
14
15
16
17
18
|
# File 'lib/inquisitive.rb', line 12
def coerce!(object)
if Inquisitive.object? object
object
else
Inquisitive.const_get(:"#{object.class}", false).new object
end
end
|
.object?(object) ⇒ Boolean
43
44
45
|
# File 'lib/inquisitive.rb', line 43
def object?(object)
object.class.name.start_with? 'Inquisitive::'
end
|
.present?(object) ⇒ Boolean
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/inquisitive.rb', line 20
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
if object.respond_to?(:present?)
object.present?
else
!!object
end
end
end
|