class Tengine::Job::Template::Vertex

Edgeとともにジョブネットを構成するグラフの「頂点」を表すモデル 自身がツリー構造を

Public Class Methods

create!(*args, &block) click to toggle source
Calls superclass method
# File lib/tengine/job/template/vertex.rb, line 69
def create!(*args, &block)
  raise_flatten_errors{ super(*args, &block) }
end
flatten_errors(vertex, dest = nil) click to toggle source
# File lib/tengine/job/template/vertex.rb, line 49
def flatten_errors(vertex, dest = nil)
  dest ||= []
  children_errors = vertex.errors.messages.delete(:children)
  edges_errors = vertex.errors.messages.delete(:edges)
  vertex.errors.full_messages.each{|msg| dest << "#{vertex.name_path} #{msg}"}
  vertex.children.each{|child| flatten_errors(child, dest)}
  if vertex.respond_to?(:edges)
    vertex.edges.each do|edge|
      edge.errors.full_messages.each{|msg| dest << "#{edge.name_for_message} #{msg}"}
    end
  end
  dest
end
raise_flatten_errors() { || ... } click to toggle source
# File lib/tengine/job/template/vertex.rb, line 63
def raise_flatten_errors
  yield if block_given?
rescue Mongoid::Errors::Validations => e
  raise VertexValidations, e.document
end

Public Instance Methods

generate(options = {}) click to toggle source
# File lib/tengine/job/template/vertex.rb, line 93
def generate(options = {})
  Tengine::Job::Template::Generator.new.execute(self, options)
end
next_edges() click to toggle source
# File lib/tengine/job/template/vertex.rb, line 87
def next_edges
  return nil unless parent
  parent.edges.select{|edge| edge.origin_id == self.id}
end
prev_edges()
Alias for: previous_edges
previous_edges() click to toggle source
# File lib/tengine/job/template/vertex.rb, line 81
def previous_edges
  return nil unless parent
  parent.edges.select{|edge| edge.destination_id == self.id}
end
Also aliased as: prev_edges
runtime?() click to toggle source
# File lib/tengine/job/template/vertex.rb, line 38
def runtime?; !template?; end
save!(*args) click to toggle source
Calls superclass method
# File lib/tengine/job/template/vertex.rb, line 74
def save!(*args)
  self.class.raise_flatten_errors{ super(*args) }
end
template?() click to toggle source

def short_inspect

"#<%%%-30s id: %s>" % [self.class.name, self.id.to_s]

end alias_method :long_inspect, :inspect alias_method :inspect, :short_inspect

# File lib/tengine/job/template/vertex.rb, line 37
def template?; true; end
update_attributes!(*args) click to toggle source
Calls superclass method
# File lib/tengine/job/template/vertex.rb, line 77
def update_attributes!(*args)
  self.class.raise_flatten_errors{ super(*args) }
end