Module: Tengine::Job

Defined in:
lib/tengine/job.rb

Defined Under Namespace

Classes: DslError

Class Method Summary collapse

Class Method Details

.notify(sender, msg) ⇒ Object

tengine_coreからそのプラグインへ通知を受けるための



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/tengine/job.rb', line 48

def notify(sender, msg)
Tengine::Core.stdout_logger.info("*" * 100)
    Dir[File.expand_path("job/drivers/*.rb", File.dirname(__FILE__))].each do |f|
Tengine::Core.stdout_logger.info("#{self.name}.notify  #{f}")
    end
  # if (msg == :before___evaluate__) # だと、最初にtengine/jobがrequireされる前に実行されるのでフックできません
  if (msg == :after___evaluate__)
    Tengine::Core::Driveable.module_eval{ include Tengine::Job::DslBinder }
    Dir[File.expand_path("job/drivers/*.rb", File.dirname(__FILE__))].each do |f|
      # Tengine::Core.stdout_logger.debug("#{self.name} now evaluating #{f}")
      # sender.instance_eval(File.read(f), f)
      load(f)
    end
  end
  if (msg == :after_load_dsl) && sender.respond_to?(:config)
    # RootJobnetTemplateのdsl_filepathからCategoryを生成します
    Tengine::Job::Category.update_for(sender.config.dsl_dir_path)
  end
end

.test_harness(idx, msg) ⇒ Object

自動テストで呼び出しをフックするためのメソッド



70
71
# File 'lib/tengine/job.rb', line 70

def test_harness(idx, msg)
end

.test_harness_clearObject

test_harnessメソッドに渡されるidxを初期化します



74
75
76
77
# File 'lib/tengine/job.rb', line 74

def test_harness_clear
  @test_harness_index = 0
  Tengine.logger.debug("#{self.name}.test_harness_clear")
end

.test_harness_hook(msg) ⇒ Object

test_harness呼び出すメソッド。ライブラリを提供する側が使用します。



81
82
83
84
85
86
# File 'lib/tengine/job.rb', line 81

def test_harness_hook(msg)
  @test_harness_index ||= 0
  @test_harness_index += 1
  Tengine.logger.debug("#{self.name}.test_harness(#{@test_harness_index}, #{msg.inspect})")
  test_harness(@test_harness_index, msg)
end