lib/mikoshi/plan/task_definition.rb in mikoshi-0.1.5 vs lib/mikoshi/plan/task_definition.rb in mikoshi-0.2.0

- old
+ new

@@ -1,17 +1,32 @@ +# frozen_string_literal: true + require 'mikoshi/plan' module Mikoshi class Plan class TaskDefinition < Base def initialize(yaml_path: nil, client: nil) super end def register_task_definition - resp = @client.register_task_definition(@data) + invoke_before_register_hooks + + resp = @client.register_task_definition(@data[:task_definition]) ENV['TASK_DEF_REVISION'] = resp.task_definition.revision.to_s + + invoke_after_register_hooks + resp + end + + private + + %w[before after].each do |step| + define_method "invoke_#{step}_register_hooks" do + invoke_hooks @data[:hooks]["#{step}_register".to_sym] unless @data.dig(:hooks, "#{step}_register".to_sym).nil? + end end end end end