class ActiveFacts::Metamodel::Fact
Public Instance Methods
verbalise(context = nil)
click to toggle source
# File lib/activefacts/metamodel/extensions.rb, line 1530 def verbalise(context = nil) reading = fact_type.preferred_reading reading_roles = reading.role_sequence.all_role_ref.sort_by{|rr| rr.ordinal}.map{|rr| rr.role } role_values_in_reading_order = all_role_value.sort_by{|rv| reading_roles.index(rv.role) } instance_verbalisations = role_values_in_reading_order.map do |rv| if rv.instance.value v = rv.instance.verbalise else if (c = rv.instance.object_type).is_a?(EntityType) if !c.preferred_identifier.role_sequence.all_role_ref.detect{|rr| rr.role.fact_type == fact_type} v = rv.instance.verbalise end end end next nil unless v v.to_s.sub(/(#{rv.instance.object_type.name}|\S*)\s/,'') end reading.expand([], false, instance_verbalisations) end