* Remove dead code * Rename SlackBotPingWorker to Slack::Messengers::Worker * Remove useless Slack mock * Fix specs
53 lines
1.4 KiB
Ruby
53 lines
1.4 KiB
Ruby
class NoOpHTTPClient
|
|
def self.post(uri, params = {})
|
|
# bonus, you could log or observe posted params here
|
|
end
|
|
end
|
|
|
|
def create_normal_notifier
|
|
Slack::Notifier.new(
|
|
ApplicationConfig["SLACK_WEBHOOK_URL"],
|
|
channel: ApplicationConfig["SLACK_CHANNEL"],
|
|
username: "activity_bot",
|
|
)
|
|
end
|
|
|
|
def create_test_channel_notifier
|
|
return create_stubbed_notifier if ApplicationConfig["SLACK_WEBHOOK_URL"].blank?
|
|
|
|
Slack::Notifier.new(
|
|
ApplicationConfig["SLACK_WEBHOOK_URL"],
|
|
channel: "#test",
|
|
username: "development_test_bot",
|
|
)
|
|
end
|
|
|
|
def create_stubbed_notifier
|
|
Slack::Notifier.new "WEBHOOK_URL" do
|
|
http_client NoOpHTTPClient
|
|
end
|
|
end
|
|
|
|
def init_slack_client
|
|
default_options = if Rails.env.production?
|
|
{
|
|
channel: ApplicationConfig["SLACK_CHANNEL"],
|
|
username: "activity_bot"
|
|
}
|
|
elsif Rails.env.test?
|
|
{
|
|
channel: "#test",
|
|
username: "development_test_bot"
|
|
}
|
|
end
|
|
|
|
webhook_url = ApplicationConfig["SLACK_WEBHOOK_URL"]
|
|
use_no_op_client = Rails.env.test? || webhook_url.blank?
|
|
|
|
Slack::Notifier.new(webhook_url) do
|
|
defaults(default_options)
|
|
http_client(NoOpHTTPClient) if use_no_op_client
|
|
end
|
|
end
|
|
|
|
SlackClient = init_slack_client
|