class SimpleMattermost::Hook

Attributes

default_user_icon[RW]
default_user_name[RW]
hook_url[RW]

Public Class Methods

new(url = nil) click to toggle source
# File lib/simple_mattermost/hook.rb, line 6
def initialize(url = nil)
  @hook_url = url || ENV['MATTERMOST_WEBHOOK_URL']
  @client   = HTTPClient.new
  @default_user_name = 'bot'
  @default_icon_url  = ''
end

Public Instance Methods

configure() { |self| ... } click to toggle source
# File lib/simple_mattermost/hook.rb, line 13
def configure
  yield(self)
end
post(text, user_name = nil, icon_url = nil) click to toggle source
# File lib/simple_mattermost/hook.rb, line 17
def post(text, user_name = nil, icon_url = nil)
  user_name ||= @default_user_name
  icon_url  ||= @default_icon_url

  params = { username: user_name, icon_url: icon_url, text: text }.to_json
  res    = @client.post(@hook_url, "payload=#{params}")
  return raise "post error\nparams: #{params}" unless res.status == 200
  true
end