class Trilean
Attributes
embedded[RW]
table[RW]
value[RW]
Public Class Methods
new(x, y = nil, z = nil)
click to toggle source
# File src/trileans.rb, line 52 def initialize(x, y = nil, z = nil) if x.is_a?(Integer) if x <= 2 @value = x @table = TrileanUtils.CreateTable(@value) @embedded = y else throw "Error: Trilean values must range from 0 to 2" end elsif [true, false].include? x if [true, false].include? y @value = TrileanUtils.Parse(x, y) @table = TrileanUtils.CreateTable(@value) @embedded = z else @value = TrileanUtils.Parse(x) @table = TrileanUtils.CreateTable(@value) @embedded = y end elsif x.is_a?(String) @value = TrileanUtils.Parse(x) @table = TrileanUtils.CreateTable(@value) @embedded = y else throw "Invalid argument type. Type of first argument must either be number, boolean, or string. Type of second object must either be boolean or desired embedded object (for all patterns other than bool, bool, embedded). Type of third object must be desired embedded object (for pattern bool, bool, embedded)" end end