Class: ActiveFacts::Metamodel::ValueConstraint

Inherits:
Constraint
  • Object
show all
Defined in:
lib/activefacts/metamodel/metamodel.rb,
lib/activefacts/metamodel/extensions.rb

Instance Method Summary collapse

Instance Method Details

#all_allowed_range_sortedObject



1080
1081
1082
1083
1084
1085
# File 'lib/activefacts/metamodel/extensions.rb', line 1080

def all_allowed_range_sorted
  all_allowed_range.sort_by{|ar|
      ((min = ar.value_range.minimum_bound) && min.value.literal) ||
        ((max = ar.value_range.maximum_bound) && max.value.literal)
    }
end

#all_constrained_roleObject



1097
1098
1099
# File 'lib/activefacts/metamodel/extensions.rb', line 1097

def all_constrained_role
  Array(role_as_role_value_constraint) # Empty unless it's a role value constraint
end

#as_cqlObject



1070
1071
1072
1073
1074
1075
1076
1077
1078
# File 'lib/activefacts/metamodel/extensions.rb', line 1070

def as_cql
  "restricted to "+
    ( if regular_expression
        '/' + regular_expression + '/'
      else
        '{' + all_allowed_range_sorted.map{|ar| ar.to_s(false) }*', ' + '}'
      end
    )
end

#describeObject



1066
1067
1068
# File 'lib/activefacts/metamodel/extensions.rb', line 1066

def describe
  as_cql
end

#to_sObject



1087
1088
1089
1090
1091
1092
1093
1094
1095
# File 'lib/activefacts/metamodel/extensions.rb', line 1087

def to_s
  if all_allowed_range.size > 1
  "[" +
    all_allowed_range_sorted.map { |ar| ar.to_s(true) }*", " +
  "]"
  else
    all_allowed_range.single.to_s
  end
end