lib/slacked/slack_post.rb in slacked-0.9.1 vs lib/slacked/slack_post.rb in slacked-0.9.2

- old
+ new

@@ -1,17 +1,22 @@ module Slacked SLACK_PROFILE_IMAGE=':robot_face:' - SLACK_WEBHOOK_URL_KEY='SLACK_WEBHOOK' + SLACK_WEBHOOK_URL_KEY = 'SLACK_WEBHOOK' SLACK_DEFAULT_MESSAGE_KEY='SLACK_DEFAULT_MESSAGE' - SLACK_DEFAULT_CONFIG= { - icon_emoji: SLACK_PROFILE_IMAGE - } + SLACK_DEFAULT_CONFIG = { + icon_emoji: SLACK_PROFILE_IMAGE, + webhook_url: ENV[SLACK_WEBHOOK_URL_KEY] + }.freeze class << self def post message = ENV[SLACK_DEFAULT_MESSAGE_KEY], config = SLACK_DEFAULT_CONFIG return false if message.nil? || message.empty? || disabled? - slack_notifier.ping message, SLACK_DEFAULT_CONFIG.merge(config) + + merged_configs = SLACK_DEFAULT_CONFIG.merge(config) + webhook_url = merged_configs.fetch(:webhook_url, SLACK_WEBHOOK_URL_KEY) + slack_notifier(webhook_url) + .ping(message, merged_configs) end def post_async message= ENV[SLACK_DEFAULT_MESSAGE_KEY], config = SLACK_DEFAULT_CONFIG Thread.start do result = post(message, config) @@ -25,11 +30,12 @@ rails_config = Rails.application.config rails_config.respond_to?(:slacked_disabled) && rails_config.slacked_disabled end private - def slack_notifier webhook_url = ENV[SLACK_WEBHOOK_URL_KEY] - Slack::Notifier.new webhook_url + + def slack_notifier(webhook_url) + Slack::Notifier.new(webhook_url) end def rails? defined?(Rails) end