Class: Pinnacle::Messages::Client
- Inherits:
-
Object
- Object
- Pinnacle::Messages::Client
show all
- Defined in:
- lib/pinnacle/messages/client.rb
Instance Method Summary
collapse
Constructor Details
#initialize(client:) ⇒ void
9
10
11
|
# File 'lib/pinnacle/messages/client.rb', line 9
def initialize(client:)
@client = client
end
|
Instance Method Details
#blast ⇒ Pinnacle::Blast::Client
97
98
99
|
# File 'lib/pinnacle/messages/client.rb', line 97
def blast
@blast ||= Pinnacle::Messages::Blast::Client.new(client: @client)
end
|
Retrieve a previously sent message.
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/pinnacle/messages/client.rb', line 25
def get(request_options: {}, **params)
params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
request = Pinnacle::Internal::JSON::Request.new(
base_url: request_options[:base_url],
method: "GET",
path: "messages/#{params[:id]}",
request_options: request_options
)
begin
response = @client.send(request)
rescue Net::HTTPRequestTimeout
raise Pinnacle::Errors::TimeoutError
end
code = response.code.to_i
if code.between?(200, 299)
Pinnacle::Types::Message.load(response.body)
else
error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
raise error_class.new(response.body, code: code)
end
end
|
#mms ⇒ Pinnacle::Mms::Client
87
88
89
|
# File 'lib/pinnacle/messages/client.rb', line 87
def mms
@mms ||= Pinnacle::Messages::Mms::Client.new(client: @client)
end
|
92
93
94
|
# File 'lib/pinnacle/messages/client.rb', line 92
def rcs
@rcs ||= Pinnacle::Messages::Rcs::Client.new(client: @client)
end
|
Add or remove an emoji reaction to a previously sent message.
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/pinnacle/messages/client.rb', line 58
def react(request_options: {}, **params)
params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
request = Pinnacle::Internal::JSON::Request.new(
base_url: request_options[:base_url],
method: "POST",
path: "messages/react",
body: Pinnacle::Messages::Types::ReactMessageParams.new(params).to_h,
request_options: request_options
)
begin
response = @client.send(request)
rescue Net::HTTPRequestTimeout
raise Pinnacle::Errors::TimeoutError
end
code = response.code.to_i
if code.between?(200, 299)
Pinnacle::Types::ReactionResult.load(response.body)
else
error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
raise error_class.new(response.body, code: code)
end
end
|
#schedule ⇒ Pinnacle::Schedule::Client
102
103
104
|
# File 'lib/pinnacle/messages/client.rb', line 102
def schedule
@schedule ||= Pinnacle::Messages::Schedule::Client.new(client: @client)
end
|
#sms ⇒ Pinnacle::Sms::Client
82
83
84
|
# File 'lib/pinnacle/messages/client.rb', line 82
def sms
@sms ||= Pinnacle::Messages::Sms::Client.new(client: @client)
end
|