class Fortytwoish::Client
Attributes
encoding[R]
response_body[R]
token[R]
Public Class Methods
new(token:, encoding: GSM7)
click to toggle source
# File lib/fortytwoish/client.rb, line 8 def initialize(token:, encoding: GSM7) @token = token @encoding = encoding end
Public Instance Methods
send(numbers, message)
click to toggle source
# File lib/fortytwoish/client.rb, line 13 def send(numbers, message) response = send_message(numbers, message) @response_body = response.body response.code end
Private Instance Methods
body(numbers, message)
click to toggle source
# File lib/fortytwoish/client.rb, line 39 def body(numbers, message) { destinations: numbers.map { |number| { number: number } }, sms_content: { message: message, encoding: encoding } }.to_json end
build_request(uri, numbers, message)
click to toggle source
# File lib/fortytwoish/client.rb, line 31 def build_request(uri, numbers, message) request = Net::HTTP::Post.new(uri.path) request['Content-Type'] = 'application/json; charset=utf-8' request['Authorization'] = "Token #{token}" request.body = body(numbers, message) request end
send_message(numbers, message)
click to toggle source
# File lib/fortytwoish/client.rb, line 23 def send_message(numbers, message) uri = URI 'https://rest.fortytwo.com/1/im' request = build_request(uri, numbers, message) Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| http.request request end end