class Dingding::Notifier
Constants
- VERSION
Attributes
atMobiles[R]
atUserIds[R]
client[R]
isAtAll[R]
middleware_name[R]
webhook_url[R]
Public Class Methods
new(options={})
click to toggle source
# File lib/dingding-notifier.rb, line 17 def initialize(options={}) @webhook_url = options.delete(:webhook_url) @client = config.http_client @atMobiles = options.delete(:atMobiles) || [] @atUserIds = options.delete(:atUserIds) || [] @isAtAll = options.delete(:isAtAll) || false @middleware_name = config.middleware(options.delete(:middleware)) if @middleware_name.is_a?(Array) @middleware_name = @middleware_name.first end middleware.set (@middleware_name) end
Public Instance Methods
call(message, options={})
click to toggle source
# File lib/dingding-notifier.rb, line 34 def call message, options={} options[:format_text] ||= {} options[:format_text][:text] = message.to_json post options end
config()
click to toggle source
# File lib/dingding-notifier.rb, line 30 def config @_config ||= Config.new end
post(payload={})
click to toggle source
# File lib/dingding-notifier.rb, line 40 def post payload={} payload = {middleware_name.to_sym => payload} unless payload.key?(middleware_name) payload.merge!({atMobiles: atMobiles, atUserIds: atUserIds,isAtAll: isAtAll}) client.post webhook_url, middleware.call(payload).to_json end
Private Instance Methods
middleware()
click to toggle source
# File lib/dingding-notifier.rb, line 48 def middleware @middleware ||= PayloadMiddleware::Stack.new(self) end