Class: NullObject
- Inherits:
-
Object
show all
- Defined in:
- lib/null_object.rb
Instance Method Summary
collapse
-
#!=(value) ⇒ Object
-
#<(_value) ⇒ Object
-
#==(value) ⇒ Object
-
#>(_value) ⇒ Object
-
#coerce(value) ⇒ Object
-
#empty? ⇒ Boolean
-
#method_missing(method, *_args, &_block) ⇒ Object
-
#nil? ⇒ Boolean
-
#null? ⇒ Boolean
-
#return_null_object(_value) ⇒ Object
(also: #+, #-, #*, #/, #|, #^, #~, #&, #[], #<<, #>>)
-
#to_bool ⇒ Object
(also: #to_b)
-
#to_int ⇒ Object
-
#to_s ⇒ Object
(also: #to_str)
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *_args, &_block) ⇒ Object
23
24
25
26
|
# File 'lib/null_object.rb', line 23
def method_missing(method, *_args, &_block)
return false if method.to_s.index('?')
NullObject.new unless method == :to_ary
end
|
Instance Method Details
#!=(value) ⇒ Object
58
59
60
|
# File 'lib/null_object.rb', line 58
def !=(value)
!value.nil?
end
|
#<(_value) ⇒ Object
76
77
78
|
# File 'lib/null_object.rb', line 76
def <(_value)
return false
end
|
#==(value) ⇒ Object
54
55
56
|
# File 'lib/null_object.rb', line 54
def ==(value)
value.nil?
end
|
#>(_value) ⇒ Object
72
73
74
|
# File 'lib/null_object.rb', line 72
def >(_value)
return false
end
|
#coerce(value) ⇒ Object
34
35
36
|
# File 'lib/null_object.rb', line 34
def coerce(value)
[NullObject.new, value]
end
|
#empty? ⇒ Boolean
80
81
82
|
# File 'lib/null_object.rb', line 80
def empty?
true
end
|
#nil? ⇒ Boolean
84
85
86
|
# File 'lib/null_object.rb', line 84
def nil?
true
end
|
#null? ⇒ Boolean
88
89
90
|
# File 'lib/null_object.rb', line 88
def null?
true
end
|
#return_null_object(_value) ⇒ Object
Also known as:
+, -, *, /, |, ^, ~, &, [], <<, >>
38
39
40
|
# File 'lib/null_object.rb', line 38
def return_null_object(_value)
NullObject.new
end
|
#to_bool ⇒ Object
Also known as:
to_b
66
67
68
|
# File 'lib/null_object.rb', line 66
def to_bool
false
end
|
#to_int ⇒ Object
62
63
64
|
# File 'lib/null_object.rb', line 62
def to_int
0
end
|
#to_s ⇒ Object
Also known as:
to_str
28
29
30
|
# File 'lib/null_object.rb', line 28
def to_s
''
end
|