Class: ActiveFacts::Metamodel::Step

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

Instance Method Summary collapse

Instance Method Details

#describeObject



1267
1268
1269
1270
1271
1272
1273
1274
1275
# File 'lib/activefacts/metamodel/extensions.rb', line 1267

def describe
  "Step " +
    "#{is_optional ? 'maybe ' : ''}" +
    (is_unary_step ? '(unary) ' : "from #{input_play.describe} ") +
    "#{is_disallowed ? 'not ' : ''}" +
    "to #{output_plays.map(&:describe)*', '}" +
    (objectification_variable ? ", objectified as #{objectification_variable.describe}" : '') +
    " '#{fact_type.default_reading}'"
end

#input_playObject



1277
1278
1279
# File 'lib/activefacts/metamodel/extensions.rb', line 1277

def input_play
  all_play.detect{|p| p.is_input}
end

#is_objectification_stepObject



1290
1291
1292
# File 'lib/activefacts/metamodel/extensions.rb', line 1290

def is_objectification_step
  !!objectification_variable
end

#is_unary_stepObject



1285
1286
1287
1288
# File 'lib/activefacts/metamodel/extensions.rb', line 1285

def is_unary_step
  # Preserve this in case we have to use a real variable for the phantom
  all_play.size == 1
end

#output_playsObject



1281
1282
1283
# File 'lib/activefacts/metamodel/extensions.rb', line 1281

def output_plays
  all_play.reject{|p| p.is_input}
end