Class: Finitio::AnyType

Inherits:
Type
  • Object
show all
Defined in:
lib/finitio/type/any_type.rb

Overview

An AnyType generator allows capuring the set of every ruby citizen as a Finitio type.

Any := .

Object is used as concrete representation of the information type as the Ruby ‘Object` class already captures everything.

R(.) = Object

Accordingly, the ‘dress` transformation function has the signature below. Note that dress always succeeds and returns its first argument.

dress :: Alpha  -> Object throws TypeError
dress :: Object -> Object throws TypeError

Constant Summary

Constants included from Metadata

Metadata::EMPTY_METADATA

Instance Method Summary collapse

Methods inherited from Type

#anonymous?, #name, #name=, #named?, #to_s

Methods included from Metadata

#metadata, #metadata=, #metadata?

Constructor Details

#initialize(name = nil, metadata = nil) ⇒ AnyType

Returns a new instance of AnyType.



21
22
23
# File 'lib/finitio/type/any_type.rb', line 21

def initialize(name = nil,  = nil)
  super(name, )
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



41
42
43
# File 'lib/finitio/type/any_type.rb', line 41

def ==(other)
  super || other.is_a?(AnyType)
end

#default_nameObject



25
26
27
# File 'lib/finitio/type/any_type.rb', line 25

def default_name
  "Any"
end

#dress(value, handler = nil) ⇒ Object



37
38
39
# File 'lib/finitio/type/any_type.rb', line 37

def dress(value, handler = nil)
  value
end

#hashObject



46
47
48
# File 'lib/finitio/type/any_type.rb', line 46

def hash
  self.class.hash ^ 37
end

#include?(value) ⇒ Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/finitio/type/any_type.rb', line 33

def include?(value)
  true
end

#representatorObject



29
30
31
# File 'lib/finitio/type/any_type.rb', line 29

def representator
  Object
end