Class: Tengine::Job::Expansion
- Inherits:
-
Job
- Object
- Job
- Tengine::Job::Expansion
- Defined in:
- lib/tengine/job/expansion.rb
Overview
ルートジョブネットを他のジョブネット内に展開するための特殊なテンプレート用Vertex。
Constant Summary collapse
- IGNORED_FIELD_NAMES =
(Tengine::Job::Vertex::IGNORED_FIELD_NAMES + %w[name dsl_version jobnet_type_cd version updated_at created_at children edges]).freeze
Instance Method Summary collapse
- #actual_class ⇒ Object
- #generate(klass = actual_class) ⇒ Object
- #generating_attrs ⇒ Object
- #generating_children ⇒ Object
- #generating_edges ⇒ Object
- #root_jobnet_template ⇒ Object
Instance Method Details
#actual_class ⇒ Object
6 7 8 |
# File 'lib/tengine/job/expansion.rb', line 6 def actual_class Tengine::Job::JobnetActual end |
#generate(klass = actual_class) ⇒ Object
32 33 34 35 36 |
# File 'lib/tengine/job/expansion.rb', line 32 def generate(klass = actual_class) result = super result.was_expansion = true result end |
#generating_attrs ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/tengine/job/expansion.rb', line 19 def result = super attrs = root_jobnet_template.attributes.dup if template = root_jobnet_template attrs[:template_id] = template.id end attrs.delete_if{|attr, value| IGNORED_FIELD_NAMES.include?(attr)} result.update(attrs) result end |
#generating_children ⇒ Object
29 |
# File 'lib/tengine/job/expansion.rb', line 29 def ; root_jobnet_template.children; end |
#generating_edges ⇒ Object
30 |
# File 'lib/tengine/job/expansion.rb', line 30 def ; root_jobnet_template.edges; end |
#root_jobnet_template ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/tengine/job/expansion.rb', line 9 def root_jobnet_template unless @root_jobnet_template cond = {:dsl_version => root.dsl_version, :name => name} @root_jobnet_template = Tengine::Job::RootJobnetTemplate.where(cond).first end @root_jobnet_template end |