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