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

#==, #canonical, canonicalize, canonicalize_each, canonicalize_float, #fetch_reference, from_ruby, #hash, #type_name, #undefined?

Constructor Details

#initializeUndefinedValue

Create an undefined value marker.



262
263
264
# File 'lib/ruby/rego/value.rb', line 262

def initialize
  super(UNDEFINED)
end

Instance Method Details

#object_keyUndefinedValue

Use the instance itself as an object key.

Returns:



283
284
285
# File 'lib/ruby/rego/value.rb', line 283

def object_key
  self
end

#to_rubyObject

Return the singleton undefined marker.

Returns:

  • (Object)


276
277
278
# File 'lib/ruby/rego/value.rb', line 276

def to_ruby
  UNDEFINED
end

#truthy?Boolean

Undefined is falsy.

Returns:

  • (Boolean)


269
270
271
# File 'lib/ruby/rego/value.rb', line 269

def truthy?
  false
end