Class: ActiveFacts::Metamodel::ValueConstraint
- Inherits:
-
Constraint
- Object
- Constraint
- ActiveFacts::Metamodel::ValueConstraint
- Defined in:
- lib/activefacts/metamodel/metamodel.rb,
lib/activefacts/metamodel/extensions.rb
Instance Method Summary collapse
- #all_allowed_range_sorted ⇒ Object
- #all_constrained_role ⇒ Object
- #as_cql ⇒ Object
- #describe ⇒ Object
- #to_s ⇒ Object
Instance Method Details
#all_allowed_range_sorted ⇒ Object
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_role ⇒ Object
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_cql ⇒ Object
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 |
#describe ⇒ Object
1066 1067 1068 |
# File 'lib/activefacts/metamodel/extensions.rb', line 1066 def describe as_cql end |
#to_s ⇒ Object
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 |