launchdarkly_api 2.0.3 → 2.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +83 -92
  3. data/docs/CustomProperties.md +7 -0
  4. data/docs/CustomProperty.md +9 -0
  5. data/docs/CustomPropertyValues.md +7 -0
  6. data/docs/Environment.md +1 -0
  7. data/docs/{EnvironmentBody.md → EnvironmentPost.md} +1 -1
  8. data/docs/EnvironmentsApi.md +2 -2
  9. data/docs/FeatureFlag.md +2 -0
  10. data/docs/FeatureFlagBody.md +1 -0
  11. data/docs/FeatureFlagConfig.md +1 -0
  12. data/docs/FeatureFlagStatus.md +1 -1
  13. data/docs/FeatureFlagsApi.md +8 -3
  14. data/docs/Project.md +1 -0
  15. data/docs/ProjectBody.md +1 -0
  16. data/docs/Rule.md +1 -0
  17. data/docs/UserFlagSettings.md +1 -1
  18. data/launchdarkly_api.gemspec +2 -2
  19. data/lib/launchdarkly_api.rb +5 -2
  20. data/lib/launchdarkly_api/api/audit_log_api.rb +1 -1
  21. data/lib/launchdarkly_api/api/custom_roles_api.rb +1 -1
  22. data/lib/launchdarkly_api/api/environments_api.rb +1 -1
  23. data/lib/launchdarkly_api/api/feature_flags_api.rb +10 -6
  24. data/lib/launchdarkly_api/api/projects_api.rb +1 -1
  25. data/lib/launchdarkly_api/api/root_api.rb +1 -1
  26. data/lib/launchdarkly_api/api/team_members_api.rb +1 -1
  27. data/lib/launchdarkly_api/api/user_segments_api.rb +1 -1
  28. data/lib/launchdarkly_api/api/user_settings_api.rb +1 -1
  29. data/lib/launchdarkly_api/api/users_api.rb +1 -1
  30. data/lib/launchdarkly_api/api/webhooks_api.rb +1 -1
  31. data/lib/launchdarkly_api/api_client.rb +1 -1
  32. data/lib/launchdarkly_api/api_error.rb +1 -1
  33. data/lib/launchdarkly_api/configuration.rb +1 -1
  34. data/lib/launchdarkly_api/models/action.rb +1 -1
  35. data/lib/launchdarkly_api/models/actions.rb +1 -1
  36. data/lib/launchdarkly_api/models/audit_log_entries.rb +1 -1
  37. data/lib/launchdarkly_api/models/audit_log_entry.rb +1 -1
  38. data/lib/launchdarkly_api/models/audit_log_entry_target.rb +1 -1
  39. data/lib/launchdarkly_api/models/clause.rb +1 -1
  40. data/lib/launchdarkly_api/models/custom_properties.rb +179 -0
  41. data/lib/launchdarkly_api/models/custom_property.rb +203 -0
  42. data/lib/launchdarkly_api/models/custom_property_values.rb +179 -0
  43. data/lib/launchdarkly_api/models/custom_role.rb +1 -1
  44. data/lib/launchdarkly_api/models/custom_role_body.rb +1 -1
  45. data/lib/launchdarkly_api/models/custom_role_key_or_id.rb +1 -1
  46. data/lib/launchdarkly_api/models/custom_roles.rb +1 -1
  47. data/lib/launchdarkly_api/models/environment.rb +17 -5
  48. data/lib/launchdarkly_api/models/{environment_body.rb → environment_post.rb} +2 -2
  49. data/lib/launchdarkly_api/models/fallthrough.rb +1 -1
  50. data/lib/launchdarkly_api/models/feature_flag.rb +20 -2
  51. data/lib/launchdarkly_api/models/feature_flag_body.rb +12 -2
  52. data/lib/launchdarkly_api/models/feature_flag_config.rb +13 -2
  53. data/lib/launchdarkly_api/models/feature_flag_status.rb +2 -2
  54. data/lib/launchdarkly_api/models/feature_flag_statuses.rb +1 -1
  55. data/lib/launchdarkly_api/models/feature_flags.rb +1 -1
  56. data/lib/launchdarkly_api/models/id.rb +1 -1
  57. data/lib/launchdarkly_api/models/link.rb +1 -1
  58. data/lib/launchdarkly_api/models/links.rb +1 -1
  59. data/lib/launchdarkly_api/models/member.rb +1 -1
  60. data/lib/launchdarkly_api/models/members.rb +1 -1
  61. data/lib/launchdarkly_api/models/members_body.rb +1 -1
  62. data/lib/launchdarkly_api/models/patch_comment.rb +1 -1
  63. data/lib/launchdarkly_api/models/patch_operation.rb +1 -1
  64. data/lib/launchdarkly_api/models/policy.rb +1 -1
  65. data/lib/launchdarkly_api/models/prerequisite.rb +1 -1
  66. data/lib/launchdarkly_api/models/project.rb +17 -5
  67. data/lib/launchdarkly_api/models/project_body.rb +16 -5
  68. data/lib/launchdarkly_api/models/projects.rb +1 -1
  69. data/lib/launchdarkly_api/models/resource.rb +1 -1
  70. data/lib/launchdarkly_api/models/resources.rb +1 -1
  71. data/lib/launchdarkly_api/models/role.rb +1 -1
  72. data/lib/launchdarkly_api/models/rollout.rb +1 -1
  73. data/lib/launchdarkly_api/models/rule.rb +11 -2
  74. data/lib/launchdarkly_api/models/statement.rb +1 -1
  75. data/lib/launchdarkly_api/models/statements.rb +1 -1
  76. data/lib/launchdarkly_api/models/target.rb +1 -1
  77. data/lib/launchdarkly_api/models/user.rb +1 -1
  78. data/lib/launchdarkly_api/models/user_flag_setting.rb +1 -1
  79. data/lib/launchdarkly_api/models/user_flag_settings.rb +5 -3
  80. data/lib/launchdarkly_api/models/user_record.rb +1 -1
  81. data/lib/launchdarkly_api/models/user_segment.rb +1 -1
  82. data/lib/launchdarkly_api/models/user_segment_body.rb +1 -1
  83. data/lib/launchdarkly_api/models/user_segment_rule.rb +1 -1
  84. data/lib/launchdarkly_api/models/user_segments.rb +1 -1
  85. data/lib/launchdarkly_api/models/user_settings_body.rb +1 -1
  86. data/lib/launchdarkly_api/models/users.rb +1 -1
  87. data/lib/launchdarkly_api/models/variation.rb +1 -1
  88. data/lib/launchdarkly_api/models/webhook.rb +1 -1
  89. data/lib/launchdarkly_api/models/webhook_body.rb +1 -1
  90. data/lib/launchdarkly_api/models/webhooks.rb +1 -1
  91. data/lib/launchdarkly_api/models/weighted_variation.rb +1 -1
  92. data/lib/launchdarkly_api/version.rb +2 -2
  93. data/openapi.yml +2082 -0
  94. data/spec/api/audit_log_api_spec.rb +1 -1
  95. data/spec/api/custom_roles_api_spec.rb +1 -1
  96. data/spec/api/environments_api_spec.rb +1 -1
  97. data/spec/api/feature_flags_api_spec.rb +3 -2
  98. data/spec/api/projects_api_spec.rb +1 -1
  99. data/spec/api/root_api_spec.rb +1 -1
  100. data/spec/api/team_members_api_spec.rb +1 -1
  101. data/spec/api/user_segments_api_spec.rb +1 -1
  102. data/spec/api/user_settings_api_spec.rb +1 -1
  103. data/spec/api/users_api_spec.rb +1 -1
  104. data/spec/api/webhooks_api_spec.rb +1 -1
  105. data/spec/api_client_spec.rb +1 -1
  106. data/spec/configuration_spec.rb +1 -1
  107. data/spec/models/action_spec.rb +1 -1
  108. data/spec/models/actions_spec.rb +1 -1
  109. data/spec/models/audit_log_entries_spec.rb +1 -1
  110. data/spec/models/audit_log_entry_spec.rb +1 -1
  111. data/spec/models/audit_log_entry_target_spec.rb +1 -1
  112. data/spec/models/clause_spec.rb +1 -1
  113. data/spec/models/custom_properties_spec.rb +36 -0
  114. data/spec/models/custom_property_spec.rb +48 -0
  115. data/spec/models/custom_property_values_spec.rb +36 -0
  116. data/spec/models/custom_role_body_spec.rb +1 -1
  117. data/spec/models/custom_role_key_or_id_spec.rb +1 -1
  118. data/spec/models/custom_role_spec.rb +1 -1
  119. data/spec/models/custom_roles_spec.rb +1 -1
  120. data/spec/models/{environment_body_spec.rb → environment_post_spec.rb} +7 -7
  121. data/spec/models/environment_spec.rb +7 -1
  122. data/spec/models/fallthrough_spec.rb +1 -1
  123. data/spec/models/feature_flag_body_spec.rb +7 -1
  124. data/spec/models/feature_flag_config_spec.rb +7 -1
  125. data/spec/models/feature_flag_spec.rb +13 -1
  126. data/spec/models/feature_flag_status_spec.rb +1 -1
  127. data/spec/models/feature_flag_statuses_spec.rb +1 -1
  128. data/spec/models/feature_flags_spec.rb +1 -1
  129. data/spec/models/id_spec.rb +1 -1
  130. data/spec/models/link_spec.rb +1 -1
  131. data/spec/models/links_spec.rb +1 -1
  132. data/spec/models/member_spec.rb +1 -1
  133. data/spec/models/members_body_spec.rb +1 -1
  134. data/spec/models/members_spec.rb +1 -1
  135. data/spec/models/patch_comment_spec.rb +1 -1
  136. data/spec/models/patch_operation_spec.rb +1 -1
  137. data/spec/models/policy_spec.rb +1 -1
  138. data/spec/models/prerequisite_spec.rb +1 -1
  139. data/spec/models/project_body_spec.rb +7 -1
  140. data/spec/models/project_spec.rb +7 -1
  141. data/spec/models/projects_spec.rb +1 -1
  142. data/spec/models/resource_spec.rb +1 -1
  143. data/spec/models/resources_spec.rb +1 -1
  144. data/spec/models/role_spec.rb +1 -1
  145. data/spec/models/rollout_spec.rb +1 -1
  146. data/spec/models/rule_spec.rb +7 -1
  147. data/spec/models/statement_spec.rb +1 -1
  148. data/spec/models/statements_spec.rb +1 -1
  149. data/spec/models/target_spec.rb +1 -1
  150. data/spec/models/user_flag_setting_spec.rb +1 -1
  151. data/spec/models/user_flag_settings_spec.rb +1 -1
  152. data/spec/models/user_record_spec.rb +1 -1
  153. data/spec/models/user_segment_body_spec.rb +1 -1
  154. data/spec/models/user_segment_rule_spec.rb +1 -1
  155. data/spec/models/user_segment_spec.rb +1 -1
  156. data/spec/models/user_segments_spec.rb +1 -1
  157. data/spec/models/user_settings_body_spec.rb +1 -1
  158. data/spec/models/user_spec.rb +1 -1
  159. data/spec/models/users_spec.rb +1 -1
  160. data/spec/models/variation_spec.rb +1 -1
  161. data/spec/models/webhook_body_spec.rb +1 -1
  162. data/spec/models/webhook_spec.rb +1 -1
  163. data/spec/models/webhooks_spec.rb +1 -1
  164. data/spec/models/weighted_variation_spec.rb +1 -1
  165. data/spec/spec_helper.rb +1 -1
  166. metadata +69 -61
  167. data/Gemfile.lock +0 -69
  168. data/launchdarkly_api-2.0.2.gem +0 -0
  169. data/lib/.DS_Store +0 -0
  170. data/lib/swagger_client/.DS_Store +0 -0
  171. data/test.rb +0 -50
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -23,12 +23,15 @@ require 'launchdarkly_api/models/audit_log_entries'
23
23
  require 'launchdarkly_api/models/audit_log_entry'
24
24
  require 'launchdarkly_api/models/audit_log_entry_target'
25
25
  require 'launchdarkly_api/models/clause'
26
+ require 'launchdarkly_api/models/custom_properties'
27
+ require 'launchdarkly_api/models/custom_property'
28
+ require 'launchdarkly_api/models/custom_property_values'
26
29
  require 'launchdarkly_api/models/custom_role'
27
30
  require 'launchdarkly_api/models/custom_role_body'
28
31
  require 'launchdarkly_api/models/custom_role_key_or_id'
29
32
  require 'launchdarkly_api/models/custom_roles'
30
33
  require 'launchdarkly_api/models/environment'
31
- require 'launchdarkly_api/models/environment_body'
34
+ require 'launchdarkly_api/models/environment_post'
32
35
  require 'launchdarkly_api/models/fallthrough'
33
36
  require 'launchdarkly_api/models/feature_flag'
34
37
  require 'launchdarkly_api/models/feature_flag_body'
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -405,10 +405,11 @@ module LaunchDarklyApi
405
405
  # @param project_key The project key, used to tie the flags together under one project so they can be managed together.
406
406
  # @param feature_flag_body Create a new feature flag.
407
407
  # @param [Hash] opts the optional parameters
408
- # @return [nil]
408
+ # @option opts [String] :clone The key of the feature flag to be cloned. The key identifies the flag in your code. For example, setting clone=flagKey will copy the full targeting configuration for all environments (including on/off state) from the original flag to the new flag.
409
+ # @return [FeatureFlag]
409
410
  def post_feature_flag(project_key, feature_flag_body, opts = {})
410
- post_feature_flag_with_http_info(project_key, feature_flag_body, opts)
411
- return nil
411
+ data, _status_code, _headers = post_feature_flag_with_http_info(project_key, feature_flag_body, opts)
412
+ return data
412
413
  end
413
414
 
414
415
  # Creates a new feature flag.
@@ -416,7 +417,8 @@ module LaunchDarklyApi
416
417
  # @param project_key The project key, used to tie the flags together under one project so they can be managed together.
417
418
  # @param feature_flag_body Create a new feature flag.
418
419
  # @param [Hash] opts the optional parameters
419
- # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
420
+ # @option opts [String] :clone The key of the feature flag to be cloned. The key identifies the flag in your code. For example, setting clone&#x3D;flagKey will copy the full targeting configuration for all environments (including on/off state) from the original flag to the new flag.
421
+ # @return [Array<(FeatureFlag, Fixnum, Hash)>] FeatureFlag data, response status code and response headers
420
422
  def post_feature_flag_with_http_info(project_key, feature_flag_body, opts = {})
421
423
  if @api_client.config.debugging
422
424
  @api_client.config.logger.debug "Calling API: FeatureFlagsApi.post_feature_flag ..."
@@ -434,6 +436,7 @@ module LaunchDarklyApi
434
436
 
435
437
  # query parameters
436
438
  query_params = {}
439
+ query_params[:'clone'] = opts[:'clone'] if !opts[:'clone'].nil?
437
440
 
438
441
  # header parameters
439
442
  header_params = {}
@@ -453,7 +456,8 @@ module LaunchDarklyApi
453
456
  :query_params => query_params,
454
457
  :form_params => form_params,
455
458
  :body => post_body,
456
- :auth_names => auth_names)
459
+ :auth_names => auth_names,
460
+ :return_type => 'FeatureFlag')
457
461
  if @api_client.config.debugging
458
462
  @api_client.config.logger.debug "API called: FeatureFlagsApi#post_feature_flag\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
459
463
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.3
6
+ OpenAPI spec version: 2.0.10
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
@@ -0,0 +1,179 @@
1
+ =begin
2
+ #LaunchDarkly REST API
3
+
4
+ #Build custom integrations with the LaunchDarkly REST API
5
+
6
+ OpenAPI spec version: 2.0.10
7
+ Contact: support@launchdarkly.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module LaunchDarklyApi
16
+ # A mapping of keys to CustomProperty entries.
17
+ class CustomProperties
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ }
23
+ end
24
+
25
+ # Attribute type mapping.
26
+ def self.swagger_types
27
+ {
28
+ }
29
+ end
30
+
31
+ # Initializes the object
32
+ # @param [Hash] attributes Model attributes in the form of hash
33
+ def initialize(attributes = {})
34
+ return unless attributes.is_a?(Hash)
35
+
36
+ # convert string to symbol for hash key
37
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
38
+
39
+ end
40
+
41
+ # Show invalid properties with the reasons. Usually used together with valid?
42
+ # @return Array for valid properties with the reasons
43
+ def list_invalid_properties
44
+ invalid_properties = Array.new
45
+ return invalid_properties
46
+ end
47
+
48
+ # Check to see if the all the properties in the model are valid
49
+ # @return true if the model is valid
50
+ def valid?
51
+ return true
52
+ end
53
+
54
+ # Checks equality by comparing each attribute.
55
+ # @param [Object] Object to be compared
56
+ def ==(o)
57
+ return true if self.equal?(o)
58
+ self.class == o.class
59
+ end
60
+
61
+ # @see the `==` method
62
+ # @param [Object] Object to be compared
63
+ def eql?(o)
64
+ self == o
65
+ end
66
+
67
+ # Calculates hash code according to all attributes.
68
+ # @return [Fixnum] Hash code
69
+ def hash
70
+ [].hash
71
+ end
72
+
73
+ # Builds the object from hash
74
+ # @param [Hash] attributes Model attributes in the form of hash
75
+ # @return [Object] Returns the model itself
76
+ def build_from_hash(attributes)
77
+ return nil unless attributes.is_a?(Hash)
78
+ self.class.swagger_types.each_pair do |key, type|
79
+ if type =~ /\AArray<(.*)>/i
80
+ # check to ensure the input is an array given that the the attribute
81
+ # is documented as an array but the input is not
82
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
83
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
84
+ end
85
+ elsif !attributes[self.class.attribute_map[key]].nil?
86
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
87
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
88
+ end
89
+
90
+ self
91
+ end
92
+
93
+ # Deserializes the data based on type
94
+ # @param string type Data type
95
+ # @param string value Value to be deserialized
96
+ # @return [Object] Deserialized data
97
+ def _deserialize(type, value)
98
+ case type.to_sym
99
+ when :DateTime
100
+ DateTime.parse(value)
101
+ when :Date
102
+ Date.parse(value)
103
+ when :String
104
+ value.to_s
105
+ when :Integer
106
+ value.to_i
107
+ when :Float
108
+ value.to_f
109
+ when :BOOLEAN
110
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
111
+ true
112
+ else
113
+ false
114
+ end
115
+ when :Object
116
+ # generic object (usually a Hash), return directly
117
+ value
118
+ when /\AArray<(?<inner_type>.+)>\z/
119
+ inner_type = Regexp.last_match[:inner_type]
120
+ value.map { |v| _deserialize(inner_type, v) }
121
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
122
+ k_type = Regexp.last_match[:k_type]
123
+ v_type = Regexp.last_match[:v_type]
124
+ {}.tap do |hash|
125
+ value.each do |k, v|
126
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
127
+ end
128
+ end
129
+ else # model
130
+ temp_model = LaunchDarklyApi.const_get(type).new
131
+ temp_model.build_from_hash(value)
132
+ end
133
+ end
134
+
135
+ # Returns the string representation of the object
136
+ # @return [String] String presentation of the object
137
+ def to_s
138
+ to_hash.to_s
139
+ end
140
+
141
+ # to_body is an alias to to_hash (backward compatibility)
142
+ # @return [Hash] Returns the object in the form of hash
143
+ def to_body
144
+ to_hash
145
+ end
146
+
147
+ # Returns the object in the form of hash
148
+ # @return [Hash] Returns the object in the form of hash
149
+ def to_hash
150
+ hash = {}
151
+ self.class.attribute_map.each_pair do |attr, param|
152
+ value = self.send(attr)
153
+ next if value.nil?
154
+ hash[param] = _to_hash(value)
155
+ end
156
+ hash
157
+ end
158
+
159
+ # Outputs non-array value in the form of hash
160
+ # For object, use to_hash. Otherwise, just return the value
161
+ # @param [Object] value Any valid value
162
+ # @return [Hash] Returns the value in the form of hash
163
+ def _to_hash(value)
164
+ if value.is_a?(Array)
165
+ value.compact.map{ |v| _to_hash(v) }
166
+ elsif value.is_a?(Hash)
167
+ {}.tap do |hash|
168
+ value.each { |k, v| hash[k] = _to_hash(v) }
169
+ end
170
+ elsif value.respond_to? :to_hash
171
+ value.to_hash
172
+ else
173
+ value
174
+ end
175
+ end
176
+
177
+ end
178
+
179
+ end