daytona_api_client 0.218.0 → 1.0.0
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.
- checksums.yaml +4 -4
- data/Gemfile +9 -0
- data/Gemfile.lock +101 -0
- data/daytona_api_client.gemspec +4 -4
- data/lib/daytona_api_client/api/api_keys_api.rb +2 -2
- data/lib/daytona_api_client/api/audit_api.rb +102 -59
- data/lib/daytona_api_client/api/config_api.rb +1 -1
- data/lib/daytona_api_client/api/docker_registry_api.rb +67 -6
- data/lib/daytona_api_client/api/health_api.rb +3 -54
- data/lib/daytona_api_client/api/object_storage_api.rb +1 -1
- data/lib/daytona_api_client/api/organizations_api.rb +279 -1591
- data/lib/daytona_api_client/api/preview_api.rb +8 -202
- data/lib/daytona_api_client/api/runners_api.rb +22 -470
- data/lib/daytona_api_client/api/sandbox_api.rb +429 -2200
- data/lib/daytona_api_client/api/snapshots_api.rb +117 -46
- data/lib/daytona_api_client/api/toolbox_api.rb +5108 -0
- data/lib/daytona_api_client/api/users_api.rb +172 -100
- data/lib/daytona_api_client/api/volumes_api.rb +2 -2
- data/lib/daytona_api_client/api/webhooks_api.rb +164 -27
- data/lib/daytona_api_client/api/workspace_api.rb +955 -0
- data/lib/daytona_api_client/api_client.rb +4 -8
- data/lib/daytona_api_client/api_error.rb +1 -1
- data/lib/daytona_api_client/configuration.rb +2 -5
- data/lib/daytona_api_client/models/account_provider.rb +93 -51
- data/lib/daytona_api_client/models/announcement.rb +74 -3
- data/lib/daytona_api_client/models/api_key_list.rb +78 -17
- data/lib/daytona_api_client/models/api_key_response.rb +74 -3
- data/lib/daytona_api_client/models/audit_log.rb +75 -22
- data/lib/daytona_api_client/models/build_info.rb +78 -34
- data/lib/daytona_api_client/models/{create_runner_response.rb → command.rb} +104 -23
- data/lib/daytona_api_client/models/completion_context.rb +244 -0
- data/lib/daytona_api_client/models/completion_item.rb +289 -0
- data/lib/daytona_api_client/models/{paginated_traces.rb → completion_list.rb} +106 -91
- data/lib/daytona_api_client/models/compressed_screenshot_response.rb +256 -0
- data/lib/daytona_api_client/models/computer_use_start_response.rb +263 -0
- data/lib/daytona_api_client/models/{audit_target_scenario.rb → computer_use_status_response.rb} +96 -44
- data/lib/daytona_api_client/models/computer_use_stop_response.rb +263 -0
- data/lib/daytona_api_client/models/create_api_key.rb +75 -4
- data/lib/daytona_api_client/models/create_audit_log.rb +350 -0
- data/lib/daytona_api_client/models/create_build_info.rb +74 -3
- data/lib/daytona_api_client/models/create_docker_registry.rb +139 -7
- data/lib/daytona_api_client/models/create_linked_account.rb +74 -3
- data/lib/daytona_api_client/models/create_organization.rb +78 -34
- data/lib/daytona_api_client/models/create_organization_invitation.rb +76 -5
- data/lib/daytona_api_client/models/create_organization_quota.rb +290 -0
- data/lib/daytona_api_client/models/create_organization_role.rb +74 -3
- data/lib/daytona_api_client/models/create_runner.rb +361 -51
- data/lib/daytona_api_client/models/create_sandbox.rb +117 -120
- data/lib/daytona_api_client/models/{signed_port_preview_url.rb → create_session_request.rb} +93 -103
- data/lib/daytona_api_client/models/create_snapshot.rb +88 -61
- data/lib/daytona_api_client/models/{volume_created_webhook.rb → create_user.rb} +113 -131
- data/lib/daytona_api_client/models/create_volume.rb +74 -3
- data/lib/daytona_api_client/models/create_workspace.rb +411 -0
- data/lib/daytona_api_client/models/daytona_configuration.rb +78 -140
- data/lib/daytona_api_client/models/{runner_service_health.rb → display_info_response.rb} +95 -59
- data/lib/daytona_api_client/models/docker_registry.rb +76 -5
- data/lib/daytona_api_client/models/{oidc_id_p_config.rb → download_files.rb} +95 -86
- data/lib/daytona_api_client/models/{create_warm_pool.rb → execute_request.rb} +106 -62
- data/lib/daytona_api_client/models/{metric_data_point.rb → execute_response.rb} +109 -38
- data/lib/daytona_api_client/models/file_info.rb +417 -0
- data/lib/daytona_api_client/models/{snapshot_removed_webhook.rb → file_status.rb} +133 -142
- data/lib/daytona_api_client/models/git_add_request.rb +264 -0
- data/lib/daytona_api_client/models/{create_secret.rb → git_branch_request.rb} +106 -59
- data/lib/daytona_api_client/models/git_checkout_request.rb +261 -0
- data/lib/daytona_api_client/models/{toolbox_proxy_url.rb → git_clone_request.rb} +142 -10
- data/lib/daytona_api_client/models/{snapshot_created_webhook.rb → git_commit_info.rb} +151 -161
- data/lib/daytona_api_client/models/git_commit_request.rb +325 -0
- data/lib/daytona_api_client/models/{runner_healthcheck.rb → git_commit_response.rb} +92 -74
- data/lib/daytona_api_client/models/{create_region.rb → git_delete_branch_request.rb} +106 -54
- data/lib/daytona_api_client/models/{snapshot_manager_credentials.rb → git_repo_request.rb} +96 -35
- data/lib/daytona_api_client/models/git_status.rb +290 -0
- data/lib/daytona_api_client/models/health_controller_check200_response.rb +74 -3
- data/lib/daytona_api_client/models/health_controller_check200_response_info_value.rb +74 -3
- data/lib/daytona_api_client/models/health_controller_check503_response.rb +74 -3
- data/lib/daytona_api_client/models/{oidc_id_p_config_response.rb → keyboard_hotkey_request.rb} +93 -59
- data/lib/daytona_api_client/models/{create_region_response.rb → keyboard_press_request.rb} +102 -63
- data/lib/daytona_api_client/models/keyboard_type_request.rb +246 -0
- data/lib/daytona_api_client/models/list_branch_response.rb +237 -0
- data/lib/daytona_api_client/models/lsp_completion_params.rb +325 -0
- data/lib/daytona_api_client/models/lsp_document_request.rb +290 -0
- data/lib/daytona_api_client/models/lsp_location.rb +261 -0
- data/lib/daytona_api_client/models/{gpu_capacity.rb → lsp_server_request.rb} +109 -104
- data/lib/daytona_api_client/models/{secret.rb → lsp_symbol.rb} +121 -146
- data/lib/daytona_api_client/models/match.rb +287 -0
- data/lib/daytona_api_client/models/mouse_click_request.rb +283 -0
- data/lib/daytona_api_client/models/mouse_click_response.rb +263 -0
- data/lib/daytona_api_client/models/mouse_drag_request.rb +327 -0
- data/lib/daytona_api_client/models/mouse_drag_response.rb +263 -0
- data/lib/daytona_api_client/models/mouse_move_request.rb +263 -0
- data/lib/daytona_api_client/models/mouse_move_response.rb +263 -0
- data/lib/daytona_api_client/models/{available_sandbox_class.rb → mouse_position.rb} +109 -95
- data/lib/daytona_api_client/models/mouse_scroll_request.rb +300 -0
- data/lib/daytona_api_client/models/{test_identity_provider_connection_response.rb → mouse_scroll_response.rb} +81 -30
- data/lib/daytona_api_client/models/oidc_config.rb +78 -68
- data/lib/daytona_api_client/models/organization.rb +159 -307
- data/lib/daytona_api_client/models/organization_invitation.rb +78 -7
- data/lib/daytona_api_client/models/organization_role.rb +74 -3
- data/lib/daytona_api_client/models/organization_sandbox_default_limited_network_egress.rb +236 -0
- data/lib/daytona_api_client/models/organization_suspension.rb +290 -0
- data/lib/daytona_api_client/models/organization_usage_overview.rb +220 -21
- data/lib/daytona_api_client/models/organization_user.rb +76 -5
- data/lib/daytona_api_client/models/paginated_audit_logs.rb +80 -19
- data/lib/daytona_api_client/models/{paginated_jobs.rb → paginated_sandboxes.rb} +80 -9
- data/lib/daytona_api_client/models/paginated_snapshots.rb +77 -6
- data/lib/daytona_api_client/models/{paginated_logs.rb → paginated_snapshots_dto.rb} +80 -13
- data/lib/daytona_api_client/models/port_preview_url.rb +88 -34
- data/lib/daytona_api_client/models/position.rb +261 -0
- data/lib/daytona_api_client/models/posthog_config.rb +74 -3
- data/lib/daytona_api_client/models/process_errors_response.rb +263 -0
- data/lib/daytona_api_client/models/process_logs_response.rb +263 -0
- data/lib/daytona_api_client/models/process_restart_response.rb +263 -0
- data/lib/daytona_api_client/models/process_status_response.rb +263 -0
- data/lib/daytona_api_client/models/{update_last_activity.rb → project_dir_response.rb} +83 -13
- data/lib/daytona_api_client/models/{pending_sso_link.rb → pty_create_request.rb} +114 -109
- data/lib/daytona_api_client/models/pty_create_response.rb +236 -0
- data/lib/daytona_api_client/models/{sandbox_identity.rb → pty_list_response.rb} +95 -49
- data/lib/daytona_api_client/models/pty_resize_request.rb +263 -0
- data/lib/daytona_api_client/models/pty_session_info.rb +425 -0
- data/lib/daytona_api_client/models/range.rb +261 -0
- data/lib/daytona_api_client/models/region.rb +78 -192
- data/lib/daytona_api_client/models/{regenerate_api_key_response.rb → region_screenshot_response.rb} +113 -22
- data/lib/daytona_api_client/models/registry_push_access_dto.rb +74 -3
- data/lib/daytona_api_client/models/replace_request.rb +289 -0
- data/lib/daytona_api_client/models/replace_result.rb +236 -0
- data/lib/daytona_api_client/models/runner.rb +215 -155
- data/lib/daytona_api_client/models/runner_snapshot_dto.rb +91 -3
- data/lib/daytona_api_client/models/runner_state.rb +3 -4
- data/lib/daytona_api_client/models/sandbox.rb +105 -220
- data/lib/daytona_api_client/models/sandbox_class.rb +6 -8
- data/lib/daytona_api_client/models/sandbox_desired_state.rb +3 -5
- data/lib/daytona_api_client/models/{create_sandbox_snapshot.rb → sandbox_info.rb} +113 -17
- data/lib/daytona_api_client/models/sandbox_labels.rb +74 -3
- data/lib/daytona_api_client/models/sandbox_state.rb +3 -10
- data/lib/daytona_api_client/models/sandbox_volume.rb +79 -18
- data/lib/daytona_api_client/models/screenshot_response.rb +256 -0
- data/lib/daytona_api_client/models/{gpu_capacity_response.rb → search_files_response.rb} +93 -49
- data/lib/daytona_api_client/models/send_webhook_dto.rb +273 -0
- data/lib/daytona_api_client/models/session.rb +251 -0
- data/lib/daytona_api_client/models/{list_sandboxes_response.rb → session_execute_request.rb} +110 -34
- data/lib/daytona_api_client/models/session_execute_response.rb +239 -0
- data/lib/daytona_api_client/models/{generate_workos_admin_portal_link.rb → set_snapshot_general_status_dto.rb} +93 -44
- data/lib/daytona_api_client/models/snapshot_dto.rb +78 -84
- data/lib/daytona_api_client/models/snapshot_state.rb +6 -5
- data/lib/daytona_api_client/models/ssh_access_dto.rb +78 -34
- data/lib/daytona_api_client/models/ssh_access_validation_dto.rb +98 -7
- data/lib/daytona_api_client/models/storage_access_dto.rb +78 -34
- data/lib/daytona_api_client/models/update_docker_registry.rb +74 -3
- data/lib/daytona_api_client/models/update_organization_invitation.rb +76 -5
- data/lib/daytona_api_client/models/update_organization_member_access.rb +76 -5
- data/lib/daytona_api_client/models/update_organization_quota.rb +317 -0
- data/lib/daytona_api_client/models/update_organization_role.rb +74 -3
- data/lib/daytona_api_client/models/update_sandbox_state_dto.rb +80 -29
- data/lib/daytona_api_client/models/user.rb +75 -51
- data/lib/daytona_api_client/models/{list_secrets_response.rb → user_home_dir_response.rb} +83 -72
- data/lib/daytona_api_client/models/user_public_key.rb +74 -3
- data/lib/daytona_api_client/models/volume_dto.rb +74 -3
- data/lib/daytona_api_client/models/volume_state.rb +3 -4
- data/lib/daytona_api_client/models/webhook_app_portal_access.rb +75 -31
- data/lib/daytona_api_client/models/{preview_warning.rb → webhook_controller_get_status200_response.rb} +76 -23
- data/lib/daytona_api_client/models/webhook_initialization_status.rb +74 -3
- data/lib/daytona_api_client/models/windows_response.rb +265 -0
- data/lib/daytona_api_client/models/{update_job_status.rb → work_dir_response.rb} +83 -72
- data/lib/daytona_api_client/models/{sandbox_list_item.rb → workspace.rb} +303 -226
- data/lib/daytona_api_client/version.rb +2 -2
- data/lib/daytona_api_client.rb +83 -93
- data/project.json +13 -38
- metadata +88 -102
- data/.gitignore +0 -39
- data/.openapi-generator/FILES +0 -175
- data/.openapi-generator/VERSION +0 -1
- data/.openapi-generator-ignore +0 -31
- data/.rspec +0 -2
- data/.rubocop.yml +0 -148
- data/fix-gemspec.sh +0 -11
- data/lib/daytona_api_client/api/jobs_api.rb +0 -299
- data/lib/daytona_api_client/api/regions_api.rb +0 -77
- data/lib/daytona_api_client/api/secret_api.rb +0 -441
- data/lib/daytona_api_client/api/warm_pools_api.rb +0 -286
- data/lib/daytona_api_client/api_model_base.rb +0 -88
- data/lib/daytona_api_client/models/audit_scenarios.rb +0 -167
- data/lib/daytona_api_client/models/create_identity_provider.rb +0 -269
- data/lib/daytona_api_client/models/create_runner_sandbox_class.rb +0 -42
- data/lib/daytona_api_client/models/date_filter.rb +0 -178
- data/lib/daytona_api_client/models/fork_sandbox.rb +0 -148
- data/lib/daytona_api_client/models/gpu_type.rb +0 -46
- data/lib/daytona_api_client/models/identity_provider.rb +0 -439
- data/lib/daytona_api_client/models/int_filter.rb +0 -222
- data/lib/daytona_api_client/models/job.rb +0 -366
- data/lib/daytona_api_client/models/job_status.rb +0 -43
- data/lib/daytona_api_client/models/job_type.rb +0 -55
- data/lib/daytona_api_client/models/log_entry.rb +0 -334
- data/lib/daytona_api_client/models/metric_series.rb +0 -194
- data/lib/daytona_api_client/models/metrics_response.rb +0 -167
- data/lib/daytona_api_client/models/otel_config.rb +0 -188
- data/lib/daytona_api_client/models/poll_jobs_response.rb +0 -167
- data/lib/daytona_api_client/models/rate_limit_config.rb +0 -188
- data/lib/daytona_api_client/models/rate_limit_entry.rb +0 -158
- data/lib/daytona_api_client/models/region_quota.rb +0 -453
- data/lib/daytona_api_client/models/region_type.rb +0 -42
- data/lib/daytona_api_client/models/region_usage_overview.rb +0 -518
- data/lib/daytona_api_client/models/resize_sandbox.rb +0 -225
- data/lib/daytona_api_client/models/resolve_sandbox_secrets200_response_inner.rb +0 -176
- data/lib/daytona_api_client/models/runner_class.rb +0 -40
- data/lib/daytona_api_client/models/runner_full.rb +0 -757
- data/lib/daytona_api_client/models/runner_health_metrics.rb +0 -482
- data/lib/daytona_api_client/models/sandbox_created_webhook.rb +0 -349
- data/lib/daytona_api_client/models/sandbox_list_sort_direction.rb +0 -41
- data/lib/daytona_api_client/models/sandbox_list_sort_field.rb +0 -45
- data/lib/daytona_api_client/models/sandbox_state_updated_webhook.rb +0 -349
- data/lib/daytona_api_client/models/snapshot_state_updated_webhook.rb +0 -376
- data/lib/daytona_api_client/models/sso_oidc_config.rb +0 -192
- data/lib/daytona_api_client/models/string_filter.rb +0 -182
- data/lib/daytona_api_client/models/test_identity_provider_connection.rb +0 -165
- data/lib/daytona_api_client/models/trace_span.rb +0 -332
- data/lib/daytona_api_client/models/trace_summary.rb +0 -310
- data/lib/daytona_api_client/models/update_identity_provider.rb +0 -212
- data/lib/daytona_api_client/models/update_oidc_id_p_config.rb +0 -178
- data/lib/daytona_api_client/models/update_organization_default_region.rb +0 -165
- data/lib/daytona_api_client/models/update_region.rb +0 -182
- data/lib/daytona_api_client/models/update_sandbox_network_settings.rb +0 -168
- data/lib/daytona_api_client/models/update_sandbox_secrets.rb +0 -167
- data/lib/daytona_api_client/models/update_secret.rb +0 -170
- data/lib/daytona_api_client/models/update_warm_pool.rb +0 -174
- data/lib/daytona_api_client/models/url.rb +0 -165
- data/lib/daytona_api_client/models/volume_state_updated_webhook.rb +0 -376
- data/lib/daytona_api_client/models/warm_pool.rb +0 -490
- data/lib/daytona_api_client/models/webhook_event.rb +0 -46
- data/lib/daytona_api_client/models/workos_admin_portal_intent.rb +0 -41
- data/lib/daytona_api_client/models/workos_admin_portal_link.rb +0 -165
- data/lib/daytona_api_client/models/workos_sso_connection.rb +0 -329
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Daytona
|
|
3
|
+
|
|
4
|
+
#Daytona AI platform API Docs
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0
|
|
7
|
+
Contact: support@daytona.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.12.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module DaytonaApiClient
|
|
17
|
+
class OrganizationSuspension
|
|
18
|
+
# Suspension reason
|
|
19
|
+
attr_accessor :reason
|
|
20
|
+
|
|
21
|
+
# Suspension until
|
|
22
|
+
attr_accessor :_until
|
|
23
|
+
|
|
24
|
+
# Suspension cleanup grace period hours
|
|
25
|
+
attr_accessor :suspension_cleanup_grace_period_hours
|
|
26
|
+
|
|
27
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
28
|
+
def self.attribute_map
|
|
29
|
+
{
|
|
30
|
+
:'reason' => :'reason',
|
|
31
|
+
:'_until' => :'until',
|
|
32
|
+
:'suspension_cleanup_grace_period_hours' => :'suspensionCleanupGracePeriodHours'
|
|
33
|
+
}
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Returns attribute mapping this model knows about
|
|
37
|
+
def self.acceptable_attribute_map
|
|
38
|
+
attribute_map
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Returns all the JSON keys this model knows about
|
|
42
|
+
def self.acceptable_attributes
|
|
43
|
+
acceptable_attribute_map.values
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Attribute type mapping.
|
|
47
|
+
def self.openapi_types
|
|
48
|
+
{
|
|
49
|
+
:'reason' => :'String',
|
|
50
|
+
:'_until' => :'Time',
|
|
51
|
+
:'suspension_cleanup_grace_period_hours' => :'Float'
|
|
52
|
+
}
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# List of attributes with nullable: true
|
|
56
|
+
def self.openapi_nullable
|
|
57
|
+
Set.new([
|
|
58
|
+
])
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Initializes the object
|
|
62
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
63
|
+
def initialize(attributes = {})
|
|
64
|
+
if (!attributes.is_a?(Hash))
|
|
65
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::OrganizationSuspension` initialize method"
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
69
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
70
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
71
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
72
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::OrganizationSuspension`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
73
|
+
end
|
|
74
|
+
h[k.to_sym] = v
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if attributes.key?(:'reason')
|
|
78
|
+
self.reason = attributes[:'reason']
|
|
79
|
+
else
|
|
80
|
+
self.reason = nil
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
if attributes.key?(:'_until')
|
|
84
|
+
self._until = attributes[:'_until']
|
|
85
|
+
else
|
|
86
|
+
self._until = nil
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
if attributes.key?(:'suspension_cleanup_grace_period_hours')
|
|
90
|
+
self.suspension_cleanup_grace_period_hours = attributes[:'suspension_cleanup_grace_period_hours']
|
|
91
|
+
else
|
|
92
|
+
self.suspension_cleanup_grace_period_hours = nil
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
97
|
+
# @return Array for valid properties with the reasons
|
|
98
|
+
def list_invalid_properties
|
|
99
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
100
|
+
invalid_properties = Array.new
|
|
101
|
+
if @reason.nil?
|
|
102
|
+
invalid_properties.push('invalid value for "reason", reason cannot be nil.')
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
if @_until.nil?
|
|
106
|
+
invalid_properties.push('invalid value for "_until", _until cannot be nil.')
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
if @suspension_cleanup_grace_period_hours.nil?
|
|
110
|
+
invalid_properties.push('invalid value for "suspension_cleanup_grace_period_hours", suspension_cleanup_grace_period_hours cannot be nil.')
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
invalid_properties
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Check to see if the all the properties in the model are valid
|
|
117
|
+
# @return true if the model is valid
|
|
118
|
+
def valid?
|
|
119
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
120
|
+
return false if @reason.nil?
|
|
121
|
+
return false if @_until.nil?
|
|
122
|
+
return false if @suspension_cleanup_grace_period_hours.nil?
|
|
123
|
+
true
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
# Custom attribute writer method with validation
|
|
127
|
+
# @param [Object] reason Value to be assigned
|
|
128
|
+
def reason=(reason)
|
|
129
|
+
if reason.nil?
|
|
130
|
+
fail ArgumentError, 'reason cannot be nil'
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
@reason = reason
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# Custom attribute writer method with validation
|
|
137
|
+
# @param [Object] _until Value to be assigned
|
|
138
|
+
def _until=(_until)
|
|
139
|
+
if _until.nil?
|
|
140
|
+
fail ArgumentError, '_until cannot be nil'
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
@_until = _until
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# Custom attribute writer method with validation
|
|
147
|
+
# @param [Object] suspension_cleanup_grace_period_hours Value to be assigned
|
|
148
|
+
def suspension_cleanup_grace_period_hours=(suspension_cleanup_grace_period_hours)
|
|
149
|
+
if suspension_cleanup_grace_period_hours.nil?
|
|
150
|
+
fail ArgumentError, 'suspension_cleanup_grace_period_hours cannot be nil'
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
@suspension_cleanup_grace_period_hours = suspension_cleanup_grace_period_hours
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# Checks equality by comparing each attribute.
|
|
157
|
+
# @param [Object] Object to be compared
|
|
158
|
+
def ==(o)
|
|
159
|
+
return true if self.equal?(o)
|
|
160
|
+
self.class == o.class &&
|
|
161
|
+
reason == o.reason &&
|
|
162
|
+
_until == o._until &&
|
|
163
|
+
suspension_cleanup_grace_period_hours == o.suspension_cleanup_grace_period_hours
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
# @see the `==` method
|
|
167
|
+
# @param [Object] Object to be compared
|
|
168
|
+
def eql?(o)
|
|
169
|
+
self == o
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# Calculates hash code according to all attributes.
|
|
173
|
+
# @return [Integer] Hash code
|
|
174
|
+
def hash
|
|
175
|
+
[reason, _until, suspension_cleanup_grace_period_hours].hash
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# Builds the object from hash
|
|
179
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
180
|
+
# @return [Object] Returns the model itself
|
|
181
|
+
def self.build_from_hash(attributes)
|
|
182
|
+
return nil unless attributes.is_a?(Hash)
|
|
183
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
184
|
+
transformed_hash = {}
|
|
185
|
+
openapi_types.each_pair do |key, type|
|
|
186
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
187
|
+
transformed_hash["#{key}"] = nil
|
|
188
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
189
|
+
# check to ensure the input is an array given that the attribute
|
|
190
|
+
# is documented as an array but the input is not
|
|
191
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
192
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
193
|
+
end
|
|
194
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
195
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
new(transformed_hash)
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
# Deserializes the data based on type
|
|
202
|
+
# @param string type Data type
|
|
203
|
+
# @param string value Value to be deserialized
|
|
204
|
+
# @return [Object] Deserialized data
|
|
205
|
+
def self._deserialize(type, value)
|
|
206
|
+
case type.to_sym
|
|
207
|
+
when :Time
|
|
208
|
+
Time.parse(value)
|
|
209
|
+
when :Date
|
|
210
|
+
Date.parse(value)
|
|
211
|
+
when :String
|
|
212
|
+
value.to_s
|
|
213
|
+
when :Integer
|
|
214
|
+
value.to_i
|
|
215
|
+
when :Float
|
|
216
|
+
value.to_f
|
|
217
|
+
when :Boolean
|
|
218
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
219
|
+
true
|
|
220
|
+
else
|
|
221
|
+
false
|
|
222
|
+
end
|
|
223
|
+
when :Object
|
|
224
|
+
# generic object (usually a Hash), return directly
|
|
225
|
+
value
|
|
226
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
227
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
228
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
229
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
230
|
+
k_type = Regexp.last_match[:k_type]
|
|
231
|
+
v_type = Regexp.last_match[:v_type]
|
|
232
|
+
{}.tap do |hash|
|
|
233
|
+
value.each do |k, v|
|
|
234
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
235
|
+
end
|
|
236
|
+
end
|
|
237
|
+
else # model
|
|
238
|
+
# models (e.g. Pet) or oneOf
|
|
239
|
+
klass = DaytonaApiClient.const_get(type)
|
|
240
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
# Returns the string representation of the object
|
|
245
|
+
# @return [String] String presentation of the object
|
|
246
|
+
def to_s
|
|
247
|
+
to_hash.to_s
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
251
|
+
# @return [Hash] Returns the object in the form of hash
|
|
252
|
+
def to_body
|
|
253
|
+
to_hash
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
# Returns the object in the form of hash
|
|
257
|
+
# @return [Hash] Returns the object in the form of hash
|
|
258
|
+
def to_hash
|
|
259
|
+
hash = {}
|
|
260
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
261
|
+
value = self.send(attr)
|
|
262
|
+
if value.nil?
|
|
263
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
264
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
hash[param] = _to_hash(value)
|
|
268
|
+
end
|
|
269
|
+
hash
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
# Outputs non-array value in the form of hash
|
|
273
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
274
|
+
# @param [Object] value Any valid value
|
|
275
|
+
# @return [Hash] Returns the value in the form of hash
|
|
276
|
+
def _to_hash(value)
|
|
277
|
+
if value.is_a?(Array)
|
|
278
|
+
value.compact.map { |v| _to_hash(v) }
|
|
279
|
+
elsif value.is_a?(Hash)
|
|
280
|
+
{}.tap do |hash|
|
|
281
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
282
|
+
end
|
|
283
|
+
elsif value.respond_to? :to_hash
|
|
284
|
+
value.to_hash
|
|
285
|
+
else
|
|
286
|
+
value
|
|
287
|
+
end
|
|
288
|
+
end
|
|
289
|
+
end
|
|
290
|
+
end
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
The version of the OpenAPI document: 1.0
|
|
7
7
|
Contact: support@daytona.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
Generator version: 7.
|
|
9
|
+
Generator version: 7.12.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -14,8 +14,18 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module DaytonaApiClient
|
|
17
|
-
class OrganizationUsageOverview
|
|
18
|
-
attr_accessor :
|
|
17
|
+
class OrganizationUsageOverview
|
|
18
|
+
attr_accessor :total_cpu_quota
|
|
19
|
+
|
|
20
|
+
attr_accessor :total_memory_quota
|
|
21
|
+
|
|
22
|
+
attr_accessor :total_disk_quota
|
|
23
|
+
|
|
24
|
+
attr_accessor :current_cpu_usage
|
|
25
|
+
|
|
26
|
+
attr_accessor :current_memory_usage
|
|
27
|
+
|
|
28
|
+
attr_accessor :current_disk_usage
|
|
19
29
|
|
|
20
30
|
attr_accessor :total_snapshot_quota
|
|
21
31
|
|
|
@@ -28,7 +38,12 @@ module DaytonaApiClient
|
|
|
28
38
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
29
39
|
def self.attribute_map
|
|
30
40
|
{
|
|
31
|
-
:'
|
|
41
|
+
:'total_cpu_quota' => :'totalCpuQuota',
|
|
42
|
+
:'total_memory_quota' => :'totalMemoryQuota',
|
|
43
|
+
:'total_disk_quota' => :'totalDiskQuota',
|
|
44
|
+
:'current_cpu_usage' => :'currentCpuUsage',
|
|
45
|
+
:'current_memory_usage' => :'currentMemoryUsage',
|
|
46
|
+
:'current_disk_usage' => :'currentDiskUsage',
|
|
32
47
|
:'total_snapshot_quota' => :'totalSnapshotQuota',
|
|
33
48
|
:'current_snapshot_usage' => :'currentSnapshotUsage',
|
|
34
49
|
:'total_volume_quota' => :'totalVolumeQuota',
|
|
@@ -49,7 +64,12 @@ module DaytonaApiClient
|
|
|
49
64
|
# Attribute type mapping.
|
|
50
65
|
def self.openapi_types
|
|
51
66
|
{
|
|
52
|
-
:'
|
|
67
|
+
:'total_cpu_quota' => :'Float',
|
|
68
|
+
:'total_memory_quota' => :'Float',
|
|
69
|
+
:'total_disk_quota' => :'Float',
|
|
70
|
+
:'current_cpu_usage' => :'Float',
|
|
71
|
+
:'current_memory_usage' => :'Float',
|
|
72
|
+
:'current_disk_usage' => :'Float',
|
|
53
73
|
:'total_snapshot_quota' => :'Float',
|
|
54
74
|
:'current_snapshot_usage' => :'Float',
|
|
55
75
|
:'total_volume_quota' => :'Float',
|
|
@@ -79,12 +99,40 @@ module DaytonaApiClient
|
|
|
79
99
|
h[k.to_sym] = v
|
|
80
100
|
}
|
|
81
101
|
|
|
82
|
-
if attributes.key?(:'
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
102
|
+
if attributes.key?(:'total_cpu_quota')
|
|
103
|
+
self.total_cpu_quota = attributes[:'total_cpu_quota']
|
|
104
|
+
else
|
|
105
|
+
self.total_cpu_quota = nil
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
if attributes.key?(:'total_memory_quota')
|
|
109
|
+
self.total_memory_quota = attributes[:'total_memory_quota']
|
|
110
|
+
else
|
|
111
|
+
self.total_memory_quota = nil
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
if attributes.key?(:'total_disk_quota')
|
|
115
|
+
self.total_disk_quota = attributes[:'total_disk_quota']
|
|
116
|
+
else
|
|
117
|
+
self.total_disk_quota = nil
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
if attributes.key?(:'current_cpu_usage')
|
|
121
|
+
self.current_cpu_usage = attributes[:'current_cpu_usage']
|
|
122
|
+
else
|
|
123
|
+
self.current_cpu_usage = nil
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
if attributes.key?(:'current_memory_usage')
|
|
127
|
+
self.current_memory_usage = attributes[:'current_memory_usage']
|
|
86
128
|
else
|
|
87
|
-
self.
|
|
129
|
+
self.current_memory_usage = nil
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
if attributes.key?(:'current_disk_usage')
|
|
133
|
+
self.current_disk_usage = attributes[:'current_disk_usage']
|
|
134
|
+
else
|
|
135
|
+
self.current_disk_usage = nil
|
|
88
136
|
end
|
|
89
137
|
|
|
90
138
|
if attributes.key?(:'total_snapshot_quota')
|
|
@@ -117,8 +165,28 @@ module DaytonaApiClient
|
|
|
117
165
|
def list_invalid_properties
|
|
118
166
|
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
119
167
|
invalid_properties = Array.new
|
|
120
|
-
if @
|
|
121
|
-
invalid_properties.push('invalid value for "
|
|
168
|
+
if @total_cpu_quota.nil?
|
|
169
|
+
invalid_properties.push('invalid value for "total_cpu_quota", total_cpu_quota cannot be nil.')
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
if @total_memory_quota.nil?
|
|
173
|
+
invalid_properties.push('invalid value for "total_memory_quota", total_memory_quota cannot be nil.')
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
if @total_disk_quota.nil?
|
|
177
|
+
invalid_properties.push('invalid value for "total_disk_quota", total_disk_quota cannot be nil.')
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
if @current_cpu_usage.nil?
|
|
181
|
+
invalid_properties.push('invalid value for "current_cpu_usage", current_cpu_usage cannot be nil.')
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
if @current_memory_usage.nil?
|
|
185
|
+
invalid_properties.push('invalid value for "current_memory_usage", current_memory_usage cannot be nil.')
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
if @current_disk_usage.nil?
|
|
189
|
+
invalid_properties.push('invalid value for "current_disk_usage", current_disk_usage cannot be nil.')
|
|
122
190
|
end
|
|
123
191
|
|
|
124
192
|
if @total_snapshot_quota.nil?
|
|
@@ -144,7 +212,12 @@ module DaytonaApiClient
|
|
|
144
212
|
# @return true if the model is valid
|
|
145
213
|
def valid?
|
|
146
214
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
147
|
-
return false if @
|
|
215
|
+
return false if @total_cpu_quota.nil?
|
|
216
|
+
return false if @total_memory_quota.nil?
|
|
217
|
+
return false if @total_disk_quota.nil?
|
|
218
|
+
return false if @current_cpu_usage.nil?
|
|
219
|
+
return false if @current_memory_usage.nil?
|
|
220
|
+
return false if @current_disk_usage.nil?
|
|
148
221
|
return false if @total_snapshot_quota.nil?
|
|
149
222
|
return false if @current_snapshot_usage.nil?
|
|
150
223
|
return false if @total_volume_quota.nil?
|
|
@@ -153,13 +226,63 @@ module DaytonaApiClient
|
|
|
153
226
|
end
|
|
154
227
|
|
|
155
228
|
# Custom attribute writer method with validation
|
|
156
|
-
# @param [Object]
|
|
157
|
-
def
|
|
158
|
-
if
|
|
159
|
-
fail ArgumentError, '
|
|
229
|
+
# @param [Object] total_cpu_quota Value to be assigned
|
|
230
|
+
def total_cpu_quota=(total_cpu_quota)
|
|
231
|
+
if total_cpu_quota.nil?
|
|
232
|
+
fail ArgumentError, 'total_cpu_quota cannot be nil'
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
@total_cpu_quota = total_cpu_quota
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
# Custom attribute writer method with validation
|
|
239
|
+
# @param [Object] total_memory_quota Value to be assigned
|
|
240
|
+
def total_memory_quota=(total_memory_quota)
|
|
241
|
+
if total_memory_quota.nil?
|
|
242
|
+
fail ArgumentError, 'total_memory_quota cannot be nil'
|
|
160
243
|
end
|
|
161
244
|
|
|
162
|
-
@
|
|
245
|
+
@total_memory_quota = total_memory_quota
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
# Custom attribute writer method with validation
|
|
249
|
+
# @param [Object] total_disk_quota Value to be assigned
|
|
250
|
+
def total_disk_quota=(total_disk_quota)
|
|
251
|
+
if total_disk_quota.nil?
|
|
252
|
+
fail ArgumentError, 'total_disk_quota cannot be nil'
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
@total_disk_quota = total_disk_quota
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
# Custom attribute writer method with validation
|
|
259
|
+
# @param [Object] current_cpu_usage Value to be assigned
|
|
260
|
+
def current_cpu_usage=(current_cpu_usage)
|
|
261
|
+
if current_cpu_usage.nil?
|
|
262
|
+
fail ArgumentError, 'current_cpu_usage cannot be nil'
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
@current_cpu_usage = current_cpu_usage
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
# Custom attribute writer method with validation
|
|
269
|
+
# @param [Object] current_memory_usage Value to be assigned
|
|
270
|
+
def current_memory_usage=(current_memory_usage)
|
|
271
|
+
if current_memory_usage.nil?
|
|
272
|
+
fail ArgumentError, 'current_memory_usage cannot be nil'
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
@current_memory_usage = current_memory_usage
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
# Custom attribute writer method with validation
|
|
279
|
+
# @param [Object] current_disk_usage Value to be assigned
|
|
280
|
+
def current_disk_usage=(current_disk_usage)
|
|
281
|
+
if current_disk_usage.nil?
|
|
282
|
+
fail ArgumentError, 'current_disk_usage cannot be nil'
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
@current_disk_usage = current_disk_usage
|
|
163
286
|
end
|
|
164
287
|
|
|
165
288
|
# Custom attribute writer method with validation
|
|
@@ -207,7 +330,12 @@ module DaytonaApiClient
|
|
|
207
330
|
def ==(o)
|
|
208
331
|
return true if self.equal?(o)
|
|
209
332
|
self.class == o.class &&
|
|
210
|
-
|
|
333
|
+
total_cpu_quota == o.total_cpu_quota &&
|
|
334
|
+
total_memory_quota == o.total_memory_quota &&
|
|
335
|
+
total_disk_quota == o.total_disk_quota &&
|
|
336
|
+
current_cpu_usage == o.current_cpu_usage &&
|
|
337
|
+
current_memory_usage == o.current_memory_usage &&
|
|
338
|
+
current_disk_usage == o.current_disk_usage &&
|
|
211
339
|
total_snapshot_quota == o.total_snapshot_quota &&
|
|
212
340
|
current_snapshot_usage == o.current_snapshot_usage &&
|
|
213
341
|
total_volume_quota == o.total_volume_quota &&
|
|
@@ -223,7 +351,7 @@ module DaytonaApiClient
|
|
|
223
351
|
# Calculates hash code according to all attributes.
|
|
224
352
|
# @return [Integer] Hash code
|
|
225
353
|
def hash
|
|
226
|
-
[
|
|
354
|
+
[total_cpu_quota, total_memory_quota, total_disk_quota, current_cpu_usage, current_memory_usage, current_disk_usage, total_snapshot_quota, current_snapshot_usage, total_volume_quota, current_volume_usage].hash
|
|
227
355
|
end
|
|
228
356
|
|
|
229
357
|
# Builds the object from hash
|
|
@@ -249,6 +377,61 @@ module DaytonaApiClient
|
|
|
249
377
|
new(transformed_hash)
|
|
250
378
|
end
|
|
251
379
|
|
|
380
|
+
# Deserializes the data based on type
|
|
381
|
+
# @param string type Data type
|
|
382
|
+
# @param string value Value to be deserialized
|
|
383
|
+
# @return [Object] Deserialized data
|
|
384
|
+
def self._deserialize(type, value)
|
|
385
|
+
case type.to_sym
|
|
386
|
+
when :Time
|
|
387
|
+
Time.parse(value)
|
|
388
|
+
when :Date
|
|
389
|
+
Date.parse(value)
|
|
390
|
+
when :String
|
|
391
|
+
value.to_s
|
|
392
|
+
when :Integer
|
|
393
|
+
value.to_i
|
|
394
|
+
when :Float
|
|
395
|
+
value.to_f
|
|
396
|
+
when :Boolean
|
|
397
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
398
|
+
true
|
|
399
|
+
else
|
|
400
|
+
false
|
|
401
|
+
end
|
|
402
|
+
when :Object
|
|
403
|
+
# generic object (usually a Hash), return directly
|
|
404
|
+
value
|
|
405
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
406
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
407
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
408
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
409
|
+
k_type = Regexp.last_match[:k_type]
|
|
410
|
+
v_type = Regexp.last_match[:v_type]
|
|
411
|
+
{}.tap do |hash|
|
|
412
|
+
value.each do |k, v|
|
|
413
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
414
|
+
end
|
|
415
|
+
end
|
|
416
|
+
else # model
|
|
417
|
+
# models (e.g. Pet) or oneOf
|
|
418
|
+
klass = DaytonaApiClient.const_get(type)
|
|
419
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
420
|
+
end
|
|
421
|
+
end
|
|
422
|
+
|
|
423
|
+
# Returns the string representation of the object
|
|
424
|
+
# @return [String] String presentation of the object
|
|
425
|
+
def to_s
|
|
426
|
+
to_hash.to_s
|
|
427
|
+
end
|
|
428
|
+
|
|
429
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
430
|
+
# @return [Hash] Returns the object in the form of hash
|
|
431
|
+
def to_body
|
|
432
|
+
to_hash
|
|
433
|
+
end
|
|
434
|
+
|
|
252
435
|
# Returns the object in the form of hash
|
|
253
436
|
# @return [Hash] Returns the object in the form of hash
|
|
254
437
|
def to_hash
|
|
@@ -265,6 +448,22 @@ module DaytonaApiClient
|
|
|
265
448
|
hash
|
|
266
449
|
end
|
|
267
450
|
|
|
451
|
+
# Outputs non-array value in the form of hash
|
|
452
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
453
|
+
# @param [Object] value Any valid value
|
|
454
|
+
# @return [Hash] Returns the value in the form of hash
|
|
455
|
+
def _to_hash(value)
|
|
456
|
+
if value.is_a?(Array)
|
|
457
|
+
value.compact.map { |v| _to_hash(v) }
|
|
458
|
+
elsif value.is_a?(Hash)
|
|
459
|
+
{}.tap do |hash|
|
|
460
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
461
|
+
end
|
|
462
|
+
elsif value.respond_to? :to_hash
|
|
463
|
+
value.to_hash
|
|
464
|
+
else
|
|
465
|
+
value
|
|
466
|
+
end
|
|
467
|
+
end
|
|
268
468
|
end
|
|
269
|
-
|
|
270
469
|
end
|