Class: Pinnacle::Messages::Client
- Inherits:
-
Object
- Object
- Pinnacle::Messages::Client
- Defined in:
- lib/pinnacle/messages/client.rb
Direct Known Subclasses
Instance Method Summary collapse
- #blast ⇒ Pinnacle::Blast::Client
- #blasts ⇒ Pinnacle::Blasts::Client
-
#get(request_options: {}, **params) ⇒ Pinnacle::Types::Message
Retrieve a previously sent message.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Pinnacle::Types::ListMessagesResponse
List all messages with optional filtering and pagination.
- #mms ⇒ Pinnacle::Mms::Client
- #rcs ⇒ Pinnacle::Rcs::Client
-
#react(request_options: {}, **params) ⇒ Pinnacle::Types::ReactionResult
Add or remove an emoji reaction to a previously sent message.
- #schedule ⇒ Pinnacle::Schedule::Client
- #schedules ⇒ Pinnacle::Schedules::Client
- #simulate ⇒ Pinnacle::Simulate::Client
- #sms ⇒ Pinnacle::Sms::Client
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
131 132 133 |
# File 'lib/pinnacle/messages/client.rb', line 131 def blast @blast ||= Pinnacle::Messages::Blast::Client.new(client: @client) end |
#blasts ⇒ Pinnacle::Blasts::Client
146 147 148 |
# File 'lib/pinnacle/messages/client.rb', line 146 def blasts @blasts ||= Pinnacle::Messages::Blasts::Client.new(client: @client) end |
#get(request_options: {}, **params) ⇒ Pinnacle::Types::Message
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: [:base_url], method: "GET", path: "messages/#{params[:id]}", 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 |
#list(request_options: {}, **params) ⇒ Pinnacle::Types::ListMessagesResponse
List all messages with optional filtering and pagination. Results are sorted by creation date, newest first.
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/pinnacle/messages/client.rb', line 92 def list(request_options: {}, **params) params = Pinnacle::Internal::Types::Utils.normalize_keys(params) request = Pinnacle::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "messages/list", body: Pinnacle::Messages::Types::ListMessagesParams.new(params).to_h, 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::ListMessagesResponse.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
121 122 123 |
# File 'lib/pinnacle/messages/client.rb', line 121 def mms @mms ||= Pinnacle::Messages::Mms::Client.new(client: @client) end |
#rcs ⇒ Pinnacle::Rcs::Client
126 127 128 |
# File 'lib/pinnacle/messages/client.rb', line 126 def rcs @rcs ||= Pinnacle::Messages::Rcs::Client.new(client: @client) end |
#react(request_options: {}, **params) ⇒ Pinnacle::Types::ReactionResult
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: [:base_url], method: "POST", path: "messages/react", body: Pinnacle::Messages::Types::ReactMessageParams.new(params).to_h, 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
136 137 138 |
# File 'lib/pinnacle/messages/client.rb', line 136 def schedule @schedule ||= Pinnacle::Messages::Schedule::Client.new(client: @client) end |
#schedules ⇒ Pinnacle::Schedules::Client
141 142 143 |
# File 'lib/pinnacle/messages/client.rb', line 141 def schedules @schedules ||= Pinnacle::Messages::Schedules::Client.new(client: @client) end |