class BlackBrown::Client

Constants

END_POINT
PUSH_PATH

Attributes

channel_access_token[RW]

Public Class Methods

new() { |self| ... } click to toggle source
# File lib/black_brown/client.rb, line 10
def initialize
  yield(self) if block_given?
end

Public Instance Methods

push(user_id, messages) click to toggle source

user_id(require type: string): The id of the user you want to send to message messages(requre: array or string): Contents of the message to be sent

# File lib/black_brown/client.rb, line 16
def push(user_id, messages)
  http_client.post do |request|
    request.url(PUSH_PATH)
    request.headers["Authorization"] = "Bearer #{channel_access_token}"
    request.headers["User-Agent"] = "BlackBrown v#{BlackBrown::VERSION}"
    request.body = {
      to: user_id,
      messages: parse_messages(messages)
    }
  end.success?
end

Private Instance Methods

http_client() click to toggle source
# File lib/black_brown/client.rb, line 30
def http_client
  Faraday.new(:url => END_POINT) do |config|
    config.request :json
    config.response :logger
    config.adapter Faraday.default_adapter
  end
end
parse_messages(messages) click to toggle source
# File lib/black_brown/client.rb, line 38
def parse_messages(messages)
  res = []
  if messages.is_a?(Array)
    messages.each do |item|
      res << { type: "text", text: item }
    end
  else
    res << { type: "text", text: messages.to_s }
  end
  res
end