Module: KapsoClientRuby::Types
- Defined in:
- lib/kapso_client_ruby/types.rb
Defined Under Namespace
Classes: BusinessProfileEntry, CallActionResponse, CallConnectResponse, CallRecord, ContactRecord, ConversationRecord, FlowAssetResponse, FlowData, FlowEventData, FlowPreviewResponse, FlowResponse, FlowScreen, GraphPaging, GraphSuccessResponse, MediaMetadataResponse, MediaUploadResponse, MessageContact, MessageInfo, MessageTemplate, PagedResponse, SendMessageResponse, TemplateCreateResponse
Constant Summary collapse
- MESSAGE_STATUSES =
Message status types
%w[accepted held_for_quality_assessment].freeze
- TEMPLATE_STATUSES =
Template status types
%w[APPROVED PENDING REJECTED PAUSED IN_APPEAL DISABLED].freeze
- TEMPLATE_CATEGORIES =
Template categories
%w[MARKETING UTILITY AUTHENTICATION UNKNOWN].freeze
- MEDIA_TYPES =
Media types
%w[image audio video document sticker].freeze
- INTERACTIVE_TYPES =
Interactive message types
%w[button list product product_list flow address location_request call_permission].freeze
Class Method Summary collapse
-
.deep_camel_case_keys(obj) ⇒ Object
Deep convert hash keys from snake_case to camelCase.
-
.deep_snake_case_keys(obj) ⇒ Object
Deep convert hash keys from camelCase to snake_case.
-
.to_camel_case(str) ⇒ Object
Utility method to convert snake_case to camelCase for API requests.
-
.to_snake_case(str) ⇒ Object
Utility method to convert camelCase to snake_case for Ruby conventions.
Class Method Details
.deep_camel_case_keys(obj) ⇒ Object
Deep convert hash keys from snake_case to camelCase
337 338 339 340 341 342 343 344 345 346 347 |
# File 'lib/kapso_client_ruby/types.rb', line 337 def self.deep_camel_case_keys(obj) case obj when Hash obj.transform_keys { |key| to_camel_case(key.to_s) } .transform_values { |value| deep_camel_case_keys(value) } when Array obj.map { |item| deep_camel_case_keys(item) } else obj end end |
.deep_snake_case_keys(obj) ⇒ Object
Deep convert hash keys from camelCase to snake_case
324 325 326 327 328 329 330 331 332 333 334 |
# File 'lib/kapso_client_ruby/types.rb', line 324 def self.deep_snake_case_keys(obj) case obj when Hash obj.transform_keys { |key| to_snake_case(key.to_s) } .transform_values { |value| deep_snake_case_keys(value) } when Array obj.map { |item| deep_snake_case_keys(item) } else obj end end |
.to_camel_case(str) ⇒ Object
Utility method to convert snake_case to camelCase for API requests
314 315 316 |
# File 'lib/kapso_client_ruby/types.rb', line 314 def self.to_camel_case(str) str.split('_').map.with_index { |word, i| i == 0 ? word : word.capitalize }.join end |
.to_snake_case(str) ⇒ Object
Utility method to convert camelCase to snake_case for Ruby conventions
319 320 321 |
# File 'lib/kapso_client_ruby/types.rb', line 319 def self.to_snake_case(str) str.gsub(/([A-Z])/, '_\1').downcase.sub(/^_/, '') end |