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
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