Class: Ruby::Rego::UndefinedValue

Inherits:
Value
  • Object
show all
Defined in:
lib/ruby/rego/value.rb

Overview

Represents an undefined value.

Constant Summary collapse

TYPE_NAME =
"undefined"
UNDEFINED =
Object.new.freeze

Instance Attribute Summary

Attributes inherited from Value

#value

Instance Method Summary collapse

Methods inherited from Value

#==, #fetch_reference, from_ruby, #hash, #type_name, #undefined?

Constructor Details

#initializeUndefinedValue

Create an undefined value marker.



205
206
207
# File 'lib/ruby/rego/value.rb', line 205

def initialize
  super(UNDEFINED)
end

Instance Method Details

#object_keyUndefinedValue

Use the instance itself as an object key.

Returns:



226
227
228
# File 'lib/ruby/rego/value.rb', line 226

def object_key
  self
end

#to_rubyObject

Return the singleton undefined marker.

Returns:

  • (Object)


219
220
221
# File 'lib/ruby/rego/value.rb', line 219

def to_ruby
  UNDEFINED
end

#truthy?Boolean

Undefined is falsy.

Returns:

  • (Boolean)


212
213
214
# File 'lib/ruby/rego/value.rb', line 212

def truthy?
  false
end