whatsapp_sdk 0.12.1 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/codeql-analysis.yml +8 -6
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +0 -3
  5. data/CHANGELOG.md +9 -7
  6. data/Gemfile +0 -4
  7. data/Gemfile.lock +1 -20
  8. data/README.md +35 -55
  9. data/SECURITY.md +21 -0
  10. data/example.rb +23 -15
  11. data/lib/whatsapp_sdk/api/api_configuration.rb +2 -5
  12. data/lib/whatsapp_sdk/api/business_profile.rb +0 -12
  13. data/lib/whatsapp_sdk/api/client.rb +7 -43
  14. data/lib/whatsapp_sdk/api/medias.rb +8 -15
  15. data/lib/whatsapp_sdk/api/messages.rb +4 -81
  16. data/lib/whatsapp_sdk/api/phone_numbers.rb +0 -14
  17. data/lib/whatsapp_sdk/api/request.rb +0 -2
  18. data/lib/whatsapp_sdk/api/response.rb +1 -20
  19. data/lib/whatsapp_sdk/api/responses/business_profile_data_response.rb +11 -34
  20. data/lib/whatsapp_sdk/api/responses/data_response.rb +0 -9
  21. data/lib/whatsapp_sdk/api/responses/error_response.rb +1 -8
  22. data/lib/whatsapp_sdk/api/responses/generic_error_response.rb +8 -26
  23. data/lib/whatsapp_sdk/api/responses/media_data_response.rb +8 -26
  24. data/lib/whatsapp_sdk/api/responses/message_data_response.rb +4 -20
  25. data/lib/whatsapp_sdk/api/responses/message_error_response.rb +0 -1
  26. data/lib/whatsapp_sdk/api/responses/message_template_namespace_data_response.rb +3 -13
  27. data/lib/whatsapp_sdk/api/responses/phone_number_data_response.rb +19 -37
  28. data/lib/whatsapp_sdk/api/responses/phone_numbers_data_response.rb +2 -9
  29. data/lib/whatsapp_sdk/api/responses/read_message_data_response.rb +1 -6
  30. data/lib/whatsapp_sdk/api/responses/success_response.rb +1 -5
  31. data/lib/whatsapp_sdk/api/responses/template_data_response.rb +2 -7
  32. data/lib/whatsapp_sdk/api/responses/templates_data_response.rb +2 -9
  33. data/lib/whatsapp_sdk/api/templates.rb +3 -27
  34. data/lib/whatsapp_sdk/configuration.rb +2 -24
  35. data/lib/whatsapp_sdk/error.rb +0 -1
  36. data/lib/whatsapp_sdk/resource/address.rb +1 -30
  37. data/lib/whatsapp_sdk/resource/address_type.rb +3 -8
  38. data/lib/whatsapp_sdk/resource/business_profile.rb +0 -3
  39. data/lib/whatsapp_sdk/resource/button_parameter.rb +4 -20
  40. data/lib/whatsapp_sdk/resource/component.rb +12 -43
  41. data/lib/whatsapp_sdk/resource/contact.rb +1 -30
  42. data/lib/whatsapp_sdk/resource/contact_response.rb +1 -9
  43. data/lib/whatsapp_sdk/resource/currency.rb +0 -8
  44. data/lib/whatsapp_sdk/resource/date_time.rb +0 -6
  45. data/lib/whatsapp_sdk/resource/email.rb +1 -10
  46. data/lib/whatsapp_sdk/resource/errors.rb +1 -17
  47. data/lib/whatsapp_sdk/resource/interactive.rb +6 -27
  48. data/lib/whatsapp_sdk/resource/interactive_action.rb +10 -24
  49. data/lib/whatsapp_sdk/resource/interactive_action_reply_button.rb +5 -19
  50. data/lib/whatsapp_sdk/resource/interactive_action_section.rb +1 -11
  51. data/lib/whatsapp_sdk/resource/interactive_action_section_row.rb +0 -11
  52. data/lib/whatsapp_sdk/resource/interactive_body.rb +0 -10
  53. data/lib/whatsapp_sdk/resource/interactive_footer.rb +0 -10
  54. data/lib/whatsapp_sdk/resource/interactive_header.rb +25 -53
  55. data/lib/whatsapp_sdk/resource/location.rb +44 -0
  56. data/lib/whatsapp_sdk/resource/media.rb +10 -46
  57. data/lib/whatsapp_sdk/resource/media_types.rb +0 -3
  58. data/lib/whatsapp_sdk/resource/message.rb +0 -5
  59. data/lib/whatsapp_sdk/resource/name.rb +1 -28
  60. data/lib/whatsapp_sdk/resource/org.rb +1 -13
  61. data/lib/whatsapp_sdk/resource/parameter_object.rb +71 -74
  62. data/lib/whatsapp_sdk/resource/phone_number.rb +1 -13
  63. data/lib/whatsapp_sdk/resource/template.rb +23 -36
  64. data/lib/whatsapp_sdk/resource/url.rb +1 -10
  65. data/lib/whatsapp_sdk/version.rb +1 -2
  66. data/lib/whatsapp_sdk.rb +0 -4
  67. data/whatsapp_sdk.gemspec +0 -3
  68. metadata +5 -49
  69. data/sorbet/config +0 -6
  70. data/sorbet/rbi/annotations/faraday.rbi +0 -17
  71. data/sorbet/rbi/annotations/mocha.rbi +0 -34
  72. data/sorbet/rbi/annotations/rainbow.rbi +0 -269
  73. data/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi +0 -270
  74. data/sorbet/rbi/gems/faraday-net_http@2.0.3.rbi +0 -182
  75. data/sorbet/rbi/gems/faraday@2.3.0.rbi +0 -2494
  76. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -272
  77. data/sorbet/rbi/gems/minitest@5.16.1.rbi +0 -1459
  78. data/sorbet/rbi/gems/mocha@1.14.0.rbi +0 -60
  79. data/sorbet/rbi/gems/multipart-post@2.2.3.rbi +0 -239
  80. data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -150
  81. data/sorbet/rbi/gems/oj@3.13.14.rbi +0 -589
  82. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +0 -867
  83. data/sorbet/rbi/todo.rbi +0 -8
  84. data/sorbet/shims/request.rbi +0 -10
  85. data/sorbet/tapioca/config.yml +0 -13
  86. data/sorbet/tapioca/require.rb +0 -4
@@ -1,272 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This is an autogenerated file for types exported from the `method_source` gem.
5
- # Please instead update this file by running `bin/tapioca gem method_source`.
6
-
7
- # source://method_source-1.0.0/lib/method_source.rb:127
8
- class Method
9
- include ::MethodSource::SourceLocation::MethodExtensions
10
- include ::MethodSource::MethodExtensions
11
- end
12
-
13
- # source://method_source-1.0.0/lib/method_source/version.rb:1
14
- module MethodSource
15
- extend ::MethodSource::CodeHelpers
16
-
17
- class << self
18
- # Helper method responsible for opening source file and buffering up
19
- # the comments for a specified method. Defined here to avoid polluting
20
- # `Method` class.
21
- #
22
- # @param source_location [Array] The array returned by Method#source_location
23
- # @param method_name [String]
24
- # @raise [SourceNotFoundError]
25
- # @return [String] The comments up to the point of the method.
26
- #
27
- # source://method_source-1.0.0/lib/method_source.rb:38
28
- def comment_helper(source_location, name = T.unsafe(nil)); end
29
-
30
- # @deprecated — use MethodSource::CodeHelpers#expression_at
31
- #
32
- # source://method_source-1.0.0/lib/method_source.rb:66
33
- def extract_code(source_location); end
34
-
35
- # Load a memoized copy of the lines in a file.
36
- #
37
- # @param file_name [String]
38
- # @param method_name [String]
39
- # @raise [SourceNotFoundError]
40
- # @return [Array<String>] the contents of the file
41
- #
42
- # source://method_source-1.0.0/lib/method_source.rb:51
43
- def lines_for(file_name, name = T.unsafe(nil)); end
44
-
45
- # Helper method responsible for extracting method body.
46
- # Defined here to avoid polluting `Method` class.
47
- #
48
- # @param source_location [Array] The array returned by Method#source_location
49
- # @param method_name [String]
50
- # @return [String] The method body
51
- #
52
- # source://method_source-1.0.0/lib/method_source.rb:23
53
- def source_helper(source_location, name = T.unsafe(nil)); end
54
-
55
- # @deprecated — use MethodSource::CodeHelpers#complete_expression?
56
- # @return [Boolean]
57
- #
58
- # source://method_source-1.0.0/lib/method_source.rb:59
59
- def valid_expression?(str); end
60
- end
61
- end
62
-
63
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:3
64
- module MethodSource::CodeHelpers
65
- # Retrieve the comment describing the expression on the given line of the given file.
66
- #
67
- # This is useful to get module or method documentation.
68
- #
69
- # @param file [Array<String>, File, String] The file to parse, either as a File or as
70
- # a String or an Array of lines.
71
- # @param line_number [Integer] The line number at which to look.
72
- # NOTE: The first line in a file is line 1!
73
- # @return [String] The comment
74
- #
75
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:52
76
- def comment_describing(file, line_number); end
77
-
78
- # Determine if a string of code is a complete Ruby expression.
79
- #
80
- # @example
81
- # complete_expression?("class Hello") #=> false
82
- # complete_expression?("class Hello; end") #=> true
83
- # complete_expression?("class 123") #=> SyntaxError: unexpected tINTEGER
84
- # @param code [String] The code to validate.
85
- # @raise [SyntaxError] Any SyntaxError that does not represent incompleteness.
86
- # @return [Boolean] Whether or not the code is a complete Ruby expression.
87
- #
88
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:66
89
- def complete_expression?(str); end
90
-
91
- # Retrieve the first expression starting on the given line of the given file.
92
- #
93
- # This is useful to get module or method source code.
94
- #
95
- # line 1!
96
- #
97
- # @option options
98
- # @option options
99
- # @param file [Array<String>, File, String] The file to parse, either as a File or as
100
- # @param line_number [Integer] The line number at which to look.
101
- # NOTE: The first line in a file is
102
- # @param options [Hash] The optional configuration parameters.
103
- # @raise [SyntaxError] If the first complete expression can't be identified
104
- # @return [String] The first complete expression
105
- #
106
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:20
107
- def expression_at(file, line_number, options = T.unsafe(nil)); end
108
-
109
- private
110
-
111
- # Get the first expression from the input.
112
- #
113
- # @param lines [Array<String>]
114
- # @param consume [Integer] A number of lines to automatically
115
- # consume (add to the expression buffer) without checking for validity.
116
- # @raise [SyntaxError]
117
- # @return [String] a valid ruby expression
118
- # @yield a clean-up function to run before checking for complete_expression
119
- #
120
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:92
121
- def extract_first_expression(lines, consume = T.unsafe(nil), &block); end
122
-
123
- # Get the last comment from the input.
124
- #
125
- # @param lines [Array<String>]
126
- # @return [String]
127
- #
128
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:106
129
- def extract_last_comment(lines); end
130
- end
131
-
132
- # An exception matcher that matches only subsets of SyntaxErrors that can be
133
- # fixed by adding more input to the buffer.
134
- #
135
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:124
136
- module MethodSource::CodeHelpers::IncompleteExpression
137
- class << self
138
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:137
139
- def ===(ex); end
140
-
141
- # @return [Boolean]
142
- #
143
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:149
144
- def rbx?; end
145
- end
146
- end
147
-
148
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:125
149
- MethodSource::CodeHelpers::IncompleteExpression::GENERIC_REGEXPS = T.let(T.unsafe(nil), Array)
150
-
151
- # source://method_source-1.0.0/lib/method_source/code_helpers.rb:133
152
- MethodSource::CodeHelpers::IncompleteExpression::RBX_ONLY_REGEXPS = T.let(T.unsafe(nil), Array)
153
-
154
- # This module is to be included by `Method` and `UnboundMethod` and
155
- # provides the `#source` functionality
156
- #
157
- # source://method_source-1.0.0/lib/method_source.rb:72
158
- module MethodSource::MethodExtensions
159
- # Return the comments associated with the method as a string.
160
- #
161
- # @example
162
- # Set.instance_method(:clear).comment.display
163
- # =>
164
- # # Removes all elements and returns self.
165
- # @raise SourceNotFoundException
166
- # @return [String] The method's comments as a string
167
- #
168
- # source://method_source-1.0.0/lib/method_source.rb:121
169
- def comment; end
170
-
171
- # Return the sourcecode for the method as a string
172
- #
173
- # @example
174
- # Set.instance_method(:clear).source.display
175
- # =>
176
- # def clear
177
- # @hash.clear
178
- # self
179
- # end
180
- # @raise SourceNotFoundException
181
- # @return [String] The method sourcecode as a string
182
- #
183
- # source://method_source-1.0.0/lib/method_source.rb:109
184
- def source; end
185
-
186
- class << self
187
- # We use the included hook to patch Method#source on rubinius.
188
- # We need to use the included hook as Rubinius defines a `source`
189
- # on Method so including a module will have no effect (as it's
190
- # higher up the MRO).
191
- #
192
- # @param klass [Class] The class that includes the module.
193
- #
194
- # source://method_source-1.0.0/lib/method_source.rb:79
195
- def included(klass); end
196
- end
197
- end
198
-
199
- # source://method_source-1.0.0/lib/method_source/source_location.rb:2
200
- module MethodSource::ReeSourceLocation
201
- # Ruby enterprise edition provides all the information that's
202
- # needed, in a slightly different way.
203
- #
204
- # source://method_source-1.0.0/lib/method_source/source_location.rb:5
205
- def source_location; end
206
- end
207
-
208
- # source://method_source-1.0.0/lib/method_source/source_location.rb:10
209
- module MethodSource::SourceLocation; end
210
-
211
- # source://method_source-1.0.0/lib/method_source/source_location.rb:11
212
- module MethodSource::SourceLocation::MethodExtensions
213
- # Return the source location of a method for Ruby 1.8.
214
- #
215
- # @return [Array] A two element array. First element is the
216
- # file, second element is the line in the file where the
217
- # method definition is found.
218
- #
219
- # source://method_source-1.0.0/lib/method_source/source_location.rb:40
220
- def source_location; end
221
-
222
- private
223
-
224
- # source://method_source-1.0.0/lib/method_source/source_location.rb:26
225
- def trace_func(event, file, line, id, binding, classname); end
226
- end
227
-
228
- # source://method_source-1.0.0/lib/method_source/source_location.rb:54
229
- module MethodSource::SourceLocation::ProcExtensions
230
- # Return the source location for a Proc (in implementations
231
- # without Proc#source_location)
232
- #
233
- # @return [Array] A two element array. First element is the
234
- # file, second element is the line in the file where the
235
- # proc definition is found.
236
- #
237
- # source://method_source-1.0.0/lib/method_source/source_location.rb:74
238
- def source_location; end
239
- end
240
-
241
- # source://method_source-1.0.0/lib/method_source/source_location.rb:81
242
- module MethodSource::SourceLocation::UnboundMethodExtensions
243
- # Return the source location of an instance method for Ruby 1.8.
244
- #
245
- # @return [Array] A two element array. First element is the
246
- # file, second element is the line in the file where the
247
- # method definition is found.
248
- #
249
- # source://method_source-1.0.0/lib/method_source/source_location.rb:101
250
- def source_location; end
251
- end
252
-
253
- # An Exception to mark errors that were raised trying to find the source from
254
- # a given source_location.
255
- #
256
- # source://method_source-1.0.0/lib/method_source.rb:16
257
- class MethodSource::SourceNotFoundError < ::StandardError; end
258
-
259
- # source://method_source-1.0.0/lib/method_source/version.rb:2
260
- MethodSource::VERSION = T.let(T.unsafe(nil), String)
261
-
262
- # source://method_source-1.0.0/lib/method_source.rb:137
263
- class Proc
264
- include ::MethodSource::SourceLocation::ProcExtensions
265
- include ::MethodSource::MethodExtensions
266
- end
267
-
268
- # source://method_source-1.0.0/lib/method_source.rb:132
269
- class UnboundMethod
270
- include ::MethodSource::SourceLocation::UnboundMethodExtensions
271
- include ::MethodSource::MethodExtensions
272
- end