module Tengine::Job

Public Class Methods

dsl_binder() click to toggle source
# File lib/tengine/job.rb, line 39
def dsl_binder
  ::Tengine::Job::Dsl::Binder
end
dsl_loader() click to toggle source
# File lib/tengine/job.rb, line 35
def dsl_loader
  ::Tengine::Job::Dsl::Loader
end
notify(sender, msg) click to toggle source

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

# File lib/tengine/job.rb, line 13
def notify(sender, msg)
  Tengine::Core.stdout_logger.debug("*" * 100)
  Dir[File.expand_path("job/runtime/drivers/*.rb", File.dirname(__FILE__))].each do |f|
    Tengine::Core.stdout_logger.debug("#{self.name}.notify  #{f}")
    end
  # if (msg == :before___evaluate__) # だと、最初にtengine/jobがrequireされる前に実行されるのでフックできません

  Tengine::Core::Driveable.module_eval{ include Tengine::Job::Dsl::Binder }

  if (msg == :after___evaluate__)
    Dir[File.expand_path("job/runtime/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::Structure::Category.update_for(sender.config.dsl_dir_path)
  end
end
test_harness(idx, msg) click to toggle source

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

# File lib/tengine/job.rb, line 44
def test_harness(idx, msg)
end
test_harness_clear() click to toggle source

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

# File lib/tengine/job.rb, line 48
def test_harness_clear
  @test_harness_index = 0
  Tengine.logger.debug("#{self.name}.test_harness_clear")
end
test_harness_hook(msg) click to toggle source

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

# File lib/tengine/job.rb, line 55
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