docbrown/config/initializers/slack_notifier.rb
2018-02-28 16:11:08 -05:00

36 lines
795 B
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(
ENV["SLACK_WEBHOOK_URL"],
channel: ENV["SLACK_CHANNEL"],
username: "activity_bot",
)
end
def create_test_channel_notifier
Slack::Notifier.new(
ENV["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
::SlackBot = case Rails.env
when "production"
create_normal_notifier
when "development"
create_test_channel_notifier
when "test"
create_stubbed_notifier
end