Class: ActiveFacts::Metamodel::ValueConstraint

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

Instance Method Summary collapse

Instance Method Details

#all_allowed_range_sortedObject



614
615
616
617
618
619
# File 'lib/activefacts/vocabulary/extensions.rb', line 614

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

#describeObject



604
605
606
607
608
609
610
611
612
# File 'lib/activefacts/vocabulary/extensions.rb', line 604

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

#to_sObject



621
622
623
624
625
626
627
628
629
# File 'lib/activefacts/vocabulary/extensions.rb', line 621

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