class Itamae::Notification

Public Class Methods

create(*args) click to toggle source
# File lib/itamae/notification.rb, line 3
def self.create(*args)
  self.new(*args).tap(&:validate!)
end

Public Instance Methods

action_resource() click to toggle source
# File lib/itamae/notification.rb, line 15
def action_resource
  resource
end
delayed?() click to toggle source
# File lib/itamae/notification.rb, line 23
def delayed?
  [:delay, :delayed].include?(timing)
end
immediately?() click to toggle source
# File lib/itamae/notification.rb, line 27
def immediately?
  timing == :immediately
end
resource() click to toggle source
# File lib/itamae/notification.rb, line 7
def resource
  runner.children.find_resource_by_description(target_resource_desc)
end
run() click to toggle source
# File lib/itamae/notification.rb, line 11
def run
  action_resource.run(action)
end
runner() click to toggle source
# File lib/itamae/notification.rb, line 19
def runner
  defined_in_resource.recipe.runner
end
validate!() click to toggle source
# File lib/itamae/notification.rb, line 31
def validate!
  unless [:delay, :delayed, :immediately].include?(timing)
    Itamae.logger.error "'#{timing}' is not valid notification timing. (Valid option is delayed or immediately)"
    abort
  end
end