lib/kapost_deploy/task.rb in kapost_deploy-0.4.0 vs lib/kapost_deploy/task.rb in kapost_deploy-0.5.0
- old
+ new
@@ -85,24 +85,31 @@
end
end
private
- def initialize(name)
+ def initialize(name, scope: Rake.application.current_scope.path)
defaults
- self.name = name
+ @name = name
+ @scope = scope
end
attr_accessor :plugins
+ attr_reader :scope
+ def hook_name(type)
+ return "#{name}:#{type}_#{name}" if scope.empty?
+ "#{scope}:#{name}:#{type}_#{name}"
+ end
+
def promoter
@promoter ||= KapostDeploy::Heroku::AppPromoter.new(pipeline, token: heroku_api_token)
end
def promote_with_hooks
- Rake.application[:"#{name}:before_#{name}"].execute
+ Rake.application[hook_name("before")].execute
promoter.promote(from: app, to: to)
- Rake.application[:"#{name}:after_#{name}"].execute
+ Rake.application[hook_name("after")].execute
end
def shell(command)
@shell.call(command)
end