class Slappy::Messenger
Constants
- CHANNEL_APIS
Public Class Methods
new(options = {})
click to toggle source
# File lib/slappy/messenger.rb, line 7 def initialize(options = {}) opt = options.dup @destination = {} @destination = opt[:channel] opt.delete :channel @options = opt end
Public Instance Methods
message()
click to toggle source
# File lib/slappy/messenger.rb, line 15 def message options = merge_params(@options) if @destination.is_a? SlackAPI::Base id = @destination.id else instance = nil CHANNEL_APIS.each do |klass| instance = klass.find(name: @destination) || klass.find(id: @destination) break unless instance.nil? end fail MissingChannelException.new, "channel / #{@destination} is not found" if instance.nil? id = instance.id end options[:channel] = id response = Slack.chat_postMessage options fail SlackAPI::SlackError.new, response['error'] unless response['ok'] end
Private Instance Methods
config()
click to toggle source
# File lib/slappy/messenger.rb, line 37 def config Slappy.configuration end
merge_params(options)
click to toggle source
# File lib/slappy/messenger.rb, line 41 def merge_params(options) default = config.send_params default.merge options end