module Slacked

Constants

SLACK_DEFAULT_CONFIG
SLACK_DEFAULT_MESSAGE_KEY
SLACK_PROFILE_IMAGE
SLACK_WEBHOOK_URL_KEY
VERSION

Public Class Methods

disabled?() click to toggle source
# File lib/slacked/slack_post.rb, line 28
def disabled?
  return false unless rails?
  rails_config = Rails.application.config
  rails_config.respond_to?(:slacked_disabled) && rails_config.slacked_disabled
end
post(message = ENV[SLACK_DEFAULT_MESSAGE_KEY], config = SLACK_DEFAULT_CONFIG) click to toggle source
# File lib/slacked/slack_post.rb, line 11
def post message = ENV[SLACK_DEFAULT_MESSAGE_KEY], config = SLACK_DEFAULT_CONFIG
  return false if message.nil? || message.empty? || disabled?

  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
post_async(message= ENV[SLACK_DEFAULT_MESSAGE_KEY], config = SLACK_DEFAULT_CONFIG) click to toggle source
# File lib/slacked/slack_post.rb, line 20
def post_async message= ENV[SLACK_DEFAULT_MESSAGE_KEY], config = SLACK_DEFAULT_CONFIG
  Thread.start do
    result = post(message, config)
    defined?(ActiveRecord) ? ActiveRecord::Base.connection.close : nil
    result
  end
end

Private Class Methods

rails?() click to toggle source
# File lib/slacked/slack_post.rb, line 40
def rails?
  defined?(Rails)
end
slack_notifier(webhook_url) click to toggle source
# File lib/slacked/slack_post.rb, line 36
def slack_notifier(webhook_url)
  Slack::Notifier.new(webhook_url)
end