class ActiveFacts::Metamodel::Value

Public Instance Methods

!=(other) click to toggle source
# File lib/activefacts/metamodel/extensions.rb, line 1134
def !=(other)
  !(self == other)
end
<(other) click to toggle source
# File lib/activefacts/metamodel/extensions.rb, line 1148
def <(other)
  v = self >= other
  v == nil ? v : !v
end
<=(other) click to toggle source
# File lib/activefacts/metamodel/extensions.rb, line 1138
def <=(other)
  return true if other == Infinity
  effective_value <= other.effective_value rescue nil
end
==(other) click to toggle source
# File lib/activefacts/metamodel/extensions.rb, line 1130
def ==(other)
  effective_value == (Value === other ? other.effective_value : other)
end
>(other) click to toggle source
# File lib/activefacts/metamodel/extensions.rb, line 1153
def >(other)
  v = self >= other
  v == nil ? v : !v
end
>=(other) click to toggle source
# File lib/activefacts/metamodel/extensions.rb, line 1143
def >=(other)
  return true if other == -Infinity
  effective_value >= other.effective_value rescue nil
end
effective_value() click to toggle source
# File lib/activefacts/metamodel/extensions.rb, line 1126
def effective_value
  is_literal_string ? literal : eval(literal)
end
inspect() click to toggle source
# File lib/activefacts/metamodel/extensions.rb, line 1122
def inspect
  to_s
end
to_s() click to toggle source
# File lib/activefacts/metamodel/extensions.rb, line 1108
def to_s
  if is_literal_string
    "'"+
    literal.
      inspect.            # Use Ruby's inspect to generate necessary escapes
      gsub(/\A"|"\Z/,''). # Remove surrounding quotes
      gsub(/'/, "\\'") +  # Escape any single quotes
    "'"
  else
    literal
  end +
  (unit ? " " + unit.name : "")
end