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
1013 1014 1015 1016 1017 1018 |
# File 'lib/activefacts/metamodel/extensions.rb', line 1013 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
1030 1031 1032 |
# File 'lib/activefacts/metamodel/extensions.rb', line 1030 def all_constrained_role Array(role_as_role_value_constraint) # Empty unless it's a role value constraint end |
#as_cql ⇒ Object
1003 1004 1005 1006 1007 1008 1009 1010 1011 |
# File 'lib/activefacts/metamodel/extensions.rb', line 1003 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
999 1000 1001 |
# File 'lib/activefacts/metamodel/extensions.rb', line 999 def describe as_cql end |
#to_s ⇒ Object
1020 1021 1022 1023 1024 1025 1026 1027 1028 |
# File 'lib/activefacts/metamodel/extensions.rb', line 1020 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 |