class Dynflow::Flows::Abstract
Public Class Methods
decode(data)
click to toggle source
# File lib/dynflow/flows/abstract.rb, line 41 def self.decode(data) if data.is_a? Integer Flows::Atom.new(data) else kind, *subflows = data Registry.decode(kind).new(subflows.map { |subflow| self.decode(subflow) }) end end
new()
click to toggle source
# File lib/dynflow/flows/abstract.rb, line 8 def initialize raise 'cannot instantiate Flows::Abstract' end
new_from_hash(hash)
click to toggle source
# File lib/dynflow/flows/abstract.rb, line 36 def self.new_from_hash(hash) check_class_matching hash new(hash[:flows].map { |flow_hash| from_hash(flow_hash) }) end
Public Instance Methods
all_step_ids()
click to toggle source
# File lib/dynflow/flows/abstract.rb, line 28 def all_step_ids raise NotImplementedError end
empty?()
click to toggle source
# File lib/dynflow/flows/abstract.rb, line 16 def empty? self.size == 0 end
flatten!()
click to toggle source
# File lib/dynflow/flows/abstract.rb, line 32 def flatten! raise NotImplementedError end
includes_step?(step_id)
click to toggle source
# File lib/dynflow/flows/abstract.rb, line 24 def includes_step?(step_id) self.all_step_ids.any? { |s| s == step_id } end
size()
click to toggle source
# File lib/dynflow/flows/abstract.rb, line 20 def size raise NotImplementedError end
to_hash()
click to toggle source
# File lib/dynflow/flows/abstract.rb, line 12 def to_hash { :class => self.class.name } end