galaxy-ruby 0.2.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.
Files changed (145) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +8 -0
  3. data/LICENSE +201 -0
  4. data/README.md +169 -0
  5. data/SECURITY.md +19 -0
  6. data/SKILL.md +83 -0
  7. data/api.md +188 -0
  8. data/lib/galaxy-ruby/client.rb +254 -0
  9. data/lib/galaxy-ruby/errors.rb +227 -0
  10. data/lib/galaxy-ruby/file_part.rb +58 -0
  11. data/lib/galaxy-ruby/internal/transport/base_client.rb +576 -0
  12. data/lib/galaxy-ruby/internal/transport/pooled_net_requester.rb +224 -0
  13. data/lib/galaxy-ruby/internal/type/array_of.rb +164 -0
  14. data/lib/galaxy-ruby/internal/type/base_model.rb +529 -0
  15. data/lib/galaxy-ruby/internal/type/base_page.rb +55 -0
  16. data/lib/galaxy-ruby/internal/type/boolean.rb +77 -0
  17. data/lib/galaxy-ruby/internal/type/converter.rb +333 -0
  18. data/lib/galaxy-ruby/internal/type/enum.rb +130 -0
  19. data/lib/galaxy-ruby/internal/type/file_input.rb +111 -0
  20. data/lib/galaxy-ruby/internal/type/hash_of.rb +184 -0
  21. data/lib/galaxy-ruby/internal/type/request_parameters.rb +42 -0
  22. data/lib/galaxy-ruby/internal/type/union.rb +234 -0
  23. data/lib/galaxy-ruby/internal/type/unknown.rb +81 -0
  24. data/lib/galaxy-ruby/internal/util.rb +960 -0
  25. data/lib/galaxy-ruby/internal.rb +15 -0
  26. data/lib/galaxy-ruby/models/authentication_create_token_params.rb +14 -0
  27. data/lib/galaxy-ruby/models/authentication_create_token_response.rb +16 -0
  28. data/lib/galaxy-ruby/models/authentication_create_user_params.rb +32 -0
  29. data/lib/galaxy-ruby/models/authentication_list_me_params.rb +14 -0
  30. data/lib/galaxy-ruby/models/celestial_body.rb +81 -0
  31. data/lib/galaxy-ruby/models/celestial_body_create_params.rb +20 -0
  32. data/lib/galaxy-ruby/models/credentials.rb +25 -0
  33. data/lib/galaxy-ruby/models/new_planet_webhook_event.rb +216 -0
  34. data/lib/galaxy-ruby/models/planet.rb +218 -0
  35. data/lib/galaxy-ruby/models/planet_create_params.rb +14 -0
  36. data/lib/galaxy-ruby/models/planet_delete_params.rb +20 -0
  37. data/lib/galaxy-ruby/models/planet_delte_image_params.rb +29 -0
  38. data/lib/galaxy-ruby/models/planet_delte_image_response.rb +48 -0
  39. data/lib/galaxy-ruby/models/planet_list_all_data_params.rb +30 -0
  40. data/lib/galaxy-ruby/models/planet_list_all_data_response.rb +51 -0
  41. data/lib/galaxy-ruby/models/planet_retrieve_params.rb +20 -0
  42. data/lib/galaxy-ruby/models/planet_update_params.rb +20 -0
  43. data/lib/galaxy-ruby/models/unwrap_webhook_event.rb +14 -0
  44. data/lib/galaxy-ruby/models/user.rb +26 -0
  45. data/lib/galaxy-ruby/models/webhook_unwrap_params.rb +14 -0
  46. data/lib/galaxy-ruby/models.rb +78 -0
  47. data/lib/galaxy-ruby/request_options.rb +77 -0
  48. data/lib/galaxy-ruby/resources/authentication.rb +80 -0
  49. data/lib/galaxy-ruby/resources/celestial_bodies.rb +37 -0
  50. data/lib/galaxy-ruby/resources/planets.rb +215 -0
  51. data/lib/galaxy-ruby/resources/webhooks.rb +34 -0
  52. data/lib/galaxy-ruby/version.rb +5 -0
  53. data/lib/galaxy-ruby.rb +78 -0
  54. data/rbi/galaxy-ruby/client.rbi +128 -0
  55. data/rbi/galaxy-ruby/errors.rbi +205 -0
  56. data/rbi/galaxy-ruby/file_part.rbi +37 -0
  57. data/rbi/galaxy-ruby/internal/transport/base_client.rbi +305 -0
  58. data/rbi/galaxy-ruby/internal/transport/pooled_net_requester.rbi +84 -0
  59. data/rbi/galaxy-ruby/internal/type/array_of.rbi +104 -0
  60. data/rbi/galaxy-ruby/internal/type/base_model.rbi +314 -0
  61. data/rbi/galaxy-ruby/internal/type/base_page.rbi +43 -0
  62. data/rbi/galaxy-ruby/internal/type/boolean.rbi +58 -0
  63. data/rbi/galaxy-ruby/internal/type/converter.rbi +222 -0
  64. data/rbi/galaxy-ruby/internal/type/enum.rbi +82 -0
  65. data/rbi/galaxy-ruby/internal/type/file_input.rbi +59 -0
  66. data/rbi/galaxy-ruby/internal/type/hash_of.rbi +104 -0
  67. data/rbi/galaxy-ruby/internal/type/request_parameters.rbi +31 -0
  68. data/rbi/galaxy-ruby/internal/type/union.rbi +128 -0
  69. data/rbi/galaxy-ruby/internal/type/unknown.rbi +58 -0
  70. data/rbi/galaxy-ruby/internal/util.rbi +515 -0
  71. data/rbi/galaxy-ruby/internal.rbi +18 -0
  72. data/rbi/galaxy-ruby/models/authentication_create_token_params.rbi +32 -0
  73. data/rbi/galaxy-ruby/models/authentication_create_token_response.rbi +29 -0
  74. data/rbi/galaxy-ruby/models/authentication_create_user_params.rbi +54 -0
  75. data/rbi/galaxy-ruby/models/authentication_list_me_params.rbi +32 -0
  76. data/rbi/galaxy-ruby/models/celestial_body.rbi +140 -0
  77. data/rbi/galaxy-ruby/models/celestial_body_create_params.rbi +53 -0
  78. data/rbi/galaxy-ruby/models/credentials.rbi +27 -0
  79. data/rbi/galaxy-ruby/models/new_planet_webhook_event.rbi +396 -0
  80. data/rbi/galaxy-ruby/models/planet.rbi +350 -0
  81. data/rbi/galaxy-ruby/models/planet_create_params.rbi +32 -0
  82. data/rbi/galaxy-ruby/models/planet_delete_params.rbi +38 -0
  83. data/rbi/galaxy-ruby/models/planet_delte_image_params.rbi +55 -0
  84. data/rbi/galaxy-ruby/models/planet_delte_image_response.rbi +85 -0
  85. data/rbi/galaxy-ruby/models/planet_list_all_data_params.rbi +60 -0
  86. data/rbi/galaxy-ruby/models/planet_list_all_data_response.rbi +110 -0
  87. data/rbi/galaxy-ruby/models/planet_retrieve_params.rbi +38 -0
  88. data/rbi/galaxy-ruby/models/planet_update_params.rbi +38 -0
  89. data/rbi/galaxy-ruby/models/unwrap_webhook_event.rbi +17 -0
  90. data/rbi/galaxy-ruby/models/user.rbi +33 -0
  91. data/rbi/galaxy-ruby/models/webhook_unwrap_params.rbi +32 -0
  92. data/rbi/galaxy-ruby/models.rbi +39 -0
  93. data/rbi/galaxy-ruby/request_options.rbi +59 -0
  94. data/rbi/galaxy-ruby/resources/authentication.rbi +47 -0
  95. data/rbi/galaxy-ruby/resources/celestial_bodies.rbi +28 -0
  96. data/rbi/galaxy-ruby/resources/planets.rbi +176 -0
  97. data/rbi/galaxy-ruby/resources/webhooks.rbi +29 -0
  98. data/rbi/galaxy-ruby/version.rbi +5 -0
  99. data/sig/galaxy-ruby/client.rbs +62 -0
  100. data/sig/galaxy-ruby/errors.rbs +117 -0
  101. data/sig/galaxy-ruby/file_part.rbs +21 -0
  102. data/sig/galaxy-ruby/internal/transport/base_client.rbs +133 -0
  103. data/sig/galaxy-ruby/internal/transport/pooled_net_requester.rbs +48 -0
  104. data/sig/galaxy-ruby/internal/type/array_of.rbs +48 -0
  105. data/sig/galaxy-ruby/internal/type/base_model.rbs +102 -0
  106. data/sig/galaxy-ruby/internal/type/base_page.rbs +24 -0
  107. data/sig/galaxy-ruby/internal/type/boolean.rbs +26 -0
  108. data/sig/galaxy-ruby/internal/type/converter.rbs +79 -0
  109. data/sig/galaxy-ruby/internal/type/enum.rbs +32 -0
  110. data/sig/galaxy-ruby/internal/type/file_input.rbs +25 -0
  111. data/sig/galaxy-ruby/internal/type/hash_of.rbs +48 -0
  112. data/sig/galaxy-ruby/internal/type/request_parameters.rbs +17 -0
  113. data/sig/galaxy-ruby/internal/type/union.rbs +52 -0
  114. data/sig/galaxy-ruby/internal/type/unknown.rbs +26 -0
  115. data/sig/galaxy-ruby/internal/util.rbs +199 -0
  116. data/sig/galaxy-ruby/internal.rbs +9 -0
  117. data/sig/galaxy-ruby/models/authentication_create_token_params.rbs +15 -0
  118. data/sig/galaxy-ruby/models/authentication_create_token_response.rbs +15 -0
  119. data/sig/galaxy-ruby/models/authentication_create_user_params.rbs +34 -0
  120. data/sig/galaxy-ruby/models/authentication_list_me_params.rbs +15 -0
  121. data/sig/galaxy-ruby/models/celestial_body.rbs +76 -0
  122. data/sig/galaxy-ruby/models/celestial_body_create_params.rbs +24 -0
  123. data/sig/galaxy-ruby/models/credentials.rbs +15 -0
  124. data/sig/galaxy-ruby/models/new_planet_webhook_event.rbs +211 -0
  125. data/sig/galaxy-ruby/models/planet.rbs +211 -0
  126. data/sig/galaxy-ruby/models/planet_create_params.rbs +15 -0
  127. data/sig/galaxy-ruby/models/planet_delete_params.rbs +23 -0
  128. data/sig/galaxy-ruby/models/planet_delte_image_params.rbs +32 -0
  129. data/sig/galaxy-ruby/models/planet_delte_image_response.rbs +50 -0
  130. data/sig/galaxy-ruby/models/planet_list_all_data_params.rbs +32 -0
  131. data/sig/galaxy-ruby/models/planet_list_all_data_response.rbs +64 -0
  132. data/sig/galaxy-ruby/models/planet_retrieve_params.rbs +23 -0
  133. data/sig/galaxy-ruby/models/planet_update_params.rbs +25 -0
  134. data/sig/galaxy-ruby/models/unwrap_webhook_event.rbs +11 -0
  135. data/sig/galaxy-ruby/models/user.rbs +19 -0
  136. data/sig/galaxy-ruby/models/webhook_unwrap_params.rbs +15 -0
  137. data/sig/galaxy-ruby/models.rbs +35 -0
  138. data/sig/galaxy-ruby/request_options.rbs +34 -0
  139. data/sig/galaxy-ruby/resources/authentication.rbs +24 -0
  140. data/sig/galaxy-ruby/resources/celestial_bodies.rbs +12 -0
  141. data/sig/galaxy-ruby/resources/planets.rbs +68 -0
  142. data/sig/galaxy-ruby/resources/webhooks.rbs +13 -0
  143. data/sig/galaxy-ruby/version.rbs +3 -0
  144. data/sig/manifest.yaml +6 -0
  145. metadata +245 -0
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Internal
5
+ extend ScalarGalaxy::Internal::Util::SorbetRuntimeSupport
6
+
7
+ OMIT =
8
+ Object.new.tap { _1.define_singleton_method(:inspect) { "#<#{ScalarGalaxy::Internal}::OMIT>" } }.freeze
9
+
10
+ define_sorbet_constant!(:AnyHash) { T.type_alias { T::Hash[Symbol, T.anything] } }
11
+ define_sorbet_constant!(:FileInput) do
12
+ T.type_alias { T.any(Pathname, StringIO, IO, String, ScalarGalaxy::FilePart) }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ # @see ScalarGalaxy::Resources::Authentication#create_token
6
+ class AuthenticationCreateTokenParams < ScalarGalaxy::Models::Credentials
7
+ extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
8
+ include ScalarGalaxy::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ # @see ScalarGalaxy::Resources::Authentication#create_token
6
+ class AuthenticationCreateTokenResponse < ScalarGalaxy::Internal::Type::BaseModel
7
+ # @!attribute token
8
+ #
9
+ # @return [String, nil]
10
+ optional :token, String
11
+
12
+ # @!method initialize(token: nil)
13
+ # @param token [String]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ # @see ScalarGalaxy::Resources::Authentication#create_user
6
+ class AuthenticationCreateUserParams < ScalarGalaxy::Internal::Type::BaseModel
7
+ extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
8
+ include ScalarGalaxy::Internal::Type::RequestParameters
9
+
10
+ # @!attribute email
11
+ #
12
+ # @return [String]
13
+ required :email, String
14
+
15
+ # @!attribute password
16
+ #
17
+ # @return [String]
18
+ required :password, String
19
+
20
+ # @!attribute name
21
+ #
22
+ # @return [String, nil]
23
+ optional :name, String
24
+
25
+ # @!method initialize(email:, password:, name: nil, request_options: {})
26
+ # @param email [String]
27
+ # @param password [String]
28
+ # @param name [String]
29
+ # @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ # @see ScalarGalaxy::Resources::Authentication#list_me
6
+ class AuthenticationListMeParams < ScalarGalaxy::Internal::Type::BaseModel
7
+ extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
8
+ include ScalarGalaxy::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ # A celestial body which can be either a planet or a satellite
6
+ #
7
+ # @see ScalarGalaxy::Resources::CelestialBodies#create
8
+ module CelestialBody
9
+ extend ScalarGalaxy::Internal::Type::Union
10
+
11
+ discriminator :type
12
+
13
+ variant -> { ScalarGalaxy::Planet }
14
+
15
+ variant -> { ScalarGalaxy::CelestialBody::Satellite }
16
+
17
+ class Satellite < ScalarGalaxy::Internal::Type::BaseModel
18
+ # @!attribute name
19
+ #
20
+ # @return [String]
21
+ required :name, String
22
+
23
+ # @!attribute description
24
+ #
25
+ # @return [String, nil]
26
+ optional :description, String, nil?: true
27
+
28
+ # @!attribute diameter
29
+ # Diameter in kilometers
30
+ #
31
+ # @return [Float, nil]
32
+ optional :diameter, Float
33
+
34
+ # @!attribute orbit
35
+ #
36
+ # @return [Object, nil]
37
+ optional :orbit, ScalarGalaxy::Internal::Type::Unknown
38
+
39
+ # @!attribute type
40
+ #
41
+ # @return [Symbol, ScalarGalaxy::Models::CelestialBody::Satellite::Type, nil]
42
+ optional :type, enum: -> { ScalarGalaxy::CelestialBody::Satellite::Type }
43
+
44
+ response_only do
45
+ # @!attribute id
46
+ #
47
+ # @return [Integer, nil]
48
+ optional :id, Integer
49
+ end
50
+
51
+ # @!method initialize(name:, id: nil, description: nil, diameter: nil, orbit: nil, type: nil)
52
+ # @param name [String]
53
+ #
54
+ # @param id [Integer]
55
+ #
56
+ # @param description [String, nil]
57
+ #
58
+ # @param diameter [Float] Diameter in kilometers
59
+ #
60
+ # @param orbit [Object]
61
+ #
62
+ # @param type [Symbol, ScalarGalaxy::Models::CelestialBody::Satellite::Type]
63
+
64
+ # @see ScalarGalaxy::Models::CelestialBody::Satellite#type
65
+ module Type
66
+ extend ScalarGalaxy::Internal::Type::Enum
67
+
68
+ MOON = :moon
69
+ ASTEROID = :asteroid
70
+ COMET = :comet
71
+
72
+ # @!method self.values
73
+ # @return [Array<Symbol>]
74
+ end
75
+ end
76
+
77
+ # @!method self.variants
78
+ # @return [Array(ScalarGalaxy::Models::Planet, ScalarGalaxy::Models::CelestialBody::Satellite)]
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ # @see ScalarGalaxy::Resources::CelestialBodies#create
6
+ class CelestialBodyCreateParams < ScalarGalaxy::Internal::Type::BaseModel
7
+ extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
8
+ include ScalarGalaxy::Internal::Type::RequestParameters
9
+
10
+ # @!attribute celestial_body
11
+ #
12
+ # @return [ScalarGalaxy::Models::Planet, ScalarGalaxy::Models::CelestialBody::Satellite]
13
+ required :celestial_body, union: -> { ScalarGalaxy::CelestialBody }
14
+
15
+ # @!method initialize(celestial_body:, request_options: {})
16
+ # @param celestial_body [ScalarGalaxy::Models::Planet, ScalarGalaxy::Models::CelestialBody::Satellite]
17
+ # @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ class Credentials < ScalarGalaxy::Internal::Type::BaseModel
6
+ # @!attribute email
7
+ #
8
+ # @return [String]
9
+ required :email, String
10
+
11
+ request_only do
12
+ # @!attribute password
13
+ #
14
+ # @return [String]
15
+ required :password, String
16
+ end
17
+
18
+ # @!method initialize(email:, password:)
19
+ # Credentials to authenticate a user
20
+ #
21
+ # @param email [String]
22
+ # @param password [String]
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,216 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ class NewPlanetWebhookEvent < ScalarGalaxy::Internal::Type::BaseModel
6
+ # @!attribute name
7
+ #
8
+ # @return [String]
9
+ required :name, String
10
+
11
+ # @!attribute atmosphere
12
+ # Atmospheric composition
13
+ #
14
+ # @return [Array<ScalarGalaxy::Models::NewPlanetWebhookEvent::Atmosphere>, nil]
15
+ optional :atmosphere,
16
+ -> { ScalarGalaxy::Internal::Type::ArrayOf[ScalarGalaxy::NewPlanetWebhookEvent::Atmosphere] }
17
+
18
+ # @!attribute creator
19
+ # A user
20
+ #
21
+ # @return [ScalarGalaxy::Models::User, nil]
22
+ optional :creator, -> { ScalarGalaxy::User }
23
+
24
+ # @!attribute description
25
+ #
26
+ # @return [String, nil]
27
+ optional :description, String, nil?: true
28
+
29
+ # @!attribute discovered_at
30
+ #
31
+ # @return [Time, nil]
32
+ optional :discovered_at, Time, api_name: :discoveredAt
33
+
34
+ # @!attribute failure_callback_url
35
+ # URL which gets invoked upon a failed operation
36
+ #
37
+ # @return [String, nil]
38
+ optional :failure_callback_url, String, api_name: :failureCallbackUrl
39
+
40
+ # @!attribute habitability_index
41
+ # A score from 0 to 1 indicating potential habitability
42
+ #
43
+ # @return [Float, nil]
44
+ optional :habitability_index, Float, api_name: :habitabilityIndex
45
+
46
+ # @!attribute image
47
+ #
48
+ # @return [String, nil]
49
+ optional :image, String, nil?: true
50
+
51
+ # @!attribute physical_properties
52
+ #
53
+ # @return [ScalarGalaxy::Models::NewPlanetWebhookEvent::PhysicalProperties, nil]
54
+ optional :physical_properties,
55
+ -> { ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties },
56
+ api_name: :physicalProperties
57
+
58
+ # @!attribute satellites
59
+ #
60
+ # @return [Array<Object>, nil]
61
+ optional :satellites, ScalarGalaxy::Internal::Type::ArrayOf[ScalarGalaxy::Internal::Type::Unknown]
62
+
63
+ # @!attribute success_callback_url
64
+ # URL which gets invoked upon a successful operation
65
+ #
66
+ # @return [String, nil]
67
+ optional :success_callback_url, String, api_name: :successCallbackUrl
68
+
69
+ # @!attribute tags
70
+ #
71
+ # @return [Array<String>, nil]
72
+ optional :tags, ScalarGalaxy::Internal::Type::ArrayOf[String]
73
+
74
+ # @!attribute type
75
+ #
76
+ # @return [Symbol, ScalarGalaxy::Models::NewPlanetWebhookEvent::Type, nil]
77
+ optional :type, enum: -> { ScalarGalaxy::NewPlanetWebhookEvent::Type }
78
+
79
+ response_only do
80
+ # @!attribute id
81
+ #
82
+ # @return [Integer]
83
+ required :id, Integer
84
+
85
+ # @!attribute last_updated
86
+ #
87
+ # @return [Time, nil]
88
+ optional :last_updated, Time, api_name: :lastUpdated
89
+ end
90
+
91
+ # @!method initialize(id:, name:, atmosphere: nil, creator: nil, description: nil, discovered_at: nil, failure_callback_url: nil, habitability_index: nil, image: nil, last_updated: nil, physical_properties: nil, satellites: nil, success_callback_url: nil, tags: nil, type: nil)
92
+ # @param id [Integer]
93
+ #
94
+ # @param name [String]
95
+ #
96
+ # @param atmosphere [Array<ScalarGalaxy::Models::NewPlanetWebhookEvent::Atmosphere>] Atmospheric composition
97
+ #
98
+ # @param creator [ScalarGalaxy::Models::User] A user
99
+ #
100
+ # @param description [String, nil]
101
+ #
102
+ # @param discovered_at [Time]
103
+ #
104
+ # @param failure_callback_url [String] URL which gets invoked upon a failed operation
105
+ #
106
+ # @param habitability_index [Float] A score from 0 to 1 indicating potential habitability
107
+ #
108
+ # @param image [String, nil]
109
+ #
110
+ # @param last_updated [Time]
111
+ #
112
+ # @param physical_properties [ScalarGalaxy::Models::NewPlanetWebhookEvent::PhysicalProperties]
113
+ #
114
+ # @param satellites [Array<Object>]
115
+ #
116
+ # @param success_callback_url [String] URL which gets invoked upon a successful operation
117
+ #
118
+ # @param tags [Array<String>]
119
+ #
120
+ # @param type [Symbol, ScalarGalaxy::Models::NewPlanetWebhookEvent::Type]
121
+
122
+ class Atmosphere < ScalarGalaxy::Internal::Type::BaseModel
123
+ # @!attribute compound
124
+ #
125
+ # @return [String, nil]
126
+ optional :compound, String
127
+
128
+ # @!attribute percentage
129
+ #
130
+ # @return [Float, nil]
131
+ optional :percentage, Float
132
+
133
+ # @!method initialize(compound: nil, percentage: nil)
134
+ # @param compound [String]
135
+ # @param percentage [Float]
136
+ end
137
+
138
+ # @see ScalarGalaxy::Models::NewPlanetWebhookEvent#physical_properties
139
+ class PhysicalProperties < ScalarGalaxy::Internal::Type::BaseModel
140
+ # @!attribute gravity
141
+ # Surface gravity in Earth g
142
+ #
143
+ # @return [Float, nil]
144
+ optional :gravity, Float
145
+
146
+ # @!attribute mass
147
+ # Mass in Earth masses (must be greater than 0)
148
+ #
149
+ # @return [Float, nil]
150
+ optional :mass, Float
151
+
152
+ # @!attribute radius
153
+ # Radius in Earth radii (must be greater than 0)
154
+ #
155
+ # @return [Float, nil]
156
+ optional :radius, Float
157
+
158
+ # @!attribute temperature
159
+ #
160
+ # @return [ScalarGalaxy::Models::NewPlanetWebhookEvent::PhysicalProperties::Temperature, nil]
161
+ optional :temperature, -> { ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties::Temperature }
162
+
163
+ # @!method initialize(gravity: nil, mass: nil, radius: nil, temperature: nil)
164
+ # @param gravity [Float] Surface gravity in Earth g
165
+ #
166
+ # @param mass [Float] Mass in Earth masses (must be greater than 0)
167
+ #
168
+ # @param radius [Float] Radius in Earth radii (must be greater than 0)
169
+ #
170
+ # @param temperature [ScalarGalaxy::Models::NewPlanetWebhookEvent::PhysicalProperties::Temperature]
171
+
172
+ # @see ScalarGalaxy::Models::NewPlanetWebhookEvent::PhysicalProperties#temperature
173
+ class Temperature < ScalarGalaxy::Internal::Type::BaseModel
174
+ # @!attribute average
175
+ # Average temperature in Kelvin
176
+ #
177
+ # @return [Float, nil]
178
+ optional :average, Float
179
+
180
+ # @!attribute max
181
+ # Maximum temperature in Kelvin
182
+ #
183
+ # @return [Float, nil]
184
+ optional :max, Float
185
+
186
+ # @!attribute min
187
+ # Minimum temperature in Kelvin
188
+ #
189
+ # @return [Float, nil]
190
+ optional :min, Float
191
+
192
+ # @!method initialize(average: nil, max: nil, min: nil)
193
+ # @param average [Float] Average temperature in Kelvin
194
+ #
195
+ # @param max [Float] Maximum temperature in Kelvin
196
+ #
197
+ # @param min [Float] Minimum temperature in Kelvin
198
+ end
199
+ end
200
+
201
+ # @see ScalarGalaxy::Models::NewPlanetWebhookEvent#type
202
+ module Type
203
+ extend ScalarGalaxy::Internal::Type::Enum
204
+
205
+ TERRESTRIAL = :terrestrial
206
+ GAS_GIANT = :gas_giant
207
+ ICE_GIANT = :ice_giant
208
+ DWARF = :dwarf
209
+ SUPER_EARTH = :super_earth
210
+
211
+ # @!method self.values
212
+ # @return [Array<Symbol>]
213
+ end
214
+ end
215
+ end
216
+ end
@@ -0,0 +1,218 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ # @see ScalarGalaxy::Resources::Planets#create
6
+ class Planet < ScalarGalaxy::Internal::Type::BaseModel
7
+ # @!attribute name
8
+ #
9
+ # @return [String]
10
+ required :name, String
11
+
12
+ # @!attribute atmosphere
13
+ # Atmospheric composition
14
+ #
15
+ # @return [Array<ScalarGalaxy::Models::Planet::Atmosphere>, nil]
16
+ optional :atmosphere, -> { ScalarGalaxy::Internal::Type::ArrayOf[ScalarGalaxy::Planet::Atmosphere] }
17
+
18
+ # @!attribute creator
19
+ # A user
20
+ #
21
+ # @return [ScalarGalaxy::Models::User, nil]
22
+ optional :creator, -> { ScalarGalaxy::User }
23
+
24
+ # @!attribute description
25
+ #
26
+ # @return [String, nil]
27
+ optional :description, String, nil?: true
28
+
29
+ # @!attribute discovered_at
30
+ #
31
+ # @return [Time, nil]
32
+ optional :discovered_at, Time, api_name: :discoveredAt
33
+
34
+ # @!attribute failure_callback_url
35
+ # URL which gets invoked upon a failed operation
36
+ #
37
+ # @return [String, nil]
38
+ optional :failure_callback_url, String, api_name: :failureCallbackUrl
39
+
40
+ # @!attribute habitability_index
41
+ # A score from 0 to 1 indicating potential habitability
42
+ #
43
+ # @return [Float, nil]
44
+ optional :habitability_index, Float, api_name: :habitabilityIndex
45
+
46
+ # @!attribute image
47
+ #
48
+ # @return [String, nil]
49
+ optional :image, String, nil?: true
50
+
51
+ # @!attribute physical_properties
52
+ #
53
+ # @return [ScalarGalaxy::Models::Planet::PhysicalProperties, nil]
54
+ optional :physical_properties,
55
+ -> { ScalarGalaxy::Planet::PhysicalProperties },
56
+ api_name: :physicalProperties
57
+
58
+ # @!attribute satellites
59
+ #
60
+ # @return [Array<Object>, nil]
61
+ optional :satellites, ScalarGalaxy::Internal::Type::ArrayOf[ScalarGalaxy::Internal::Type::Unknown]
62
+
63
+ # @!attribute success_callback_url
64
+ # URL which gets invoked upon a successful operation
65
+ #
66
+ # @return [String, nil]
67
+ optional :success_callback_url, String, api_name: :successCallbackUrl
68
+
69
+ # @!attribute tags
70
+ #
71
+ # @return [Array<String>, nil]
72
+ optional :tags, ScalarGalaxy::Internal::Type::ArrayOf[String]
73
+
74
+ # @!attribute type
75
+ #
76
+ # @return [Symbol, ScalarGalaxy::Models::Planet::Type, nil]
77
+ optional :type, enum: -> { ScalarGalaxy::Planet::Type }
78
+
79
+ response_only do
80
+ # @!attribute id
81
+ #
82
+ # @return [Integer]
83
+ required :id, Integer
84
+
85
+ # @!attribute last_updated
86
+ #
87
+ # @return [Time, nil]
88
+ optional :last_updated, Time, api_name: :lastUpdated
89
+ end
90
+
91
+ # @!method initialize(id:, name:, atmosphere: nil, creator: nil, description: nil, discovered_at: nil, failure_callback_url: nil, habitability_index: nil, image: nil, last_updated: nil, physical_properties: nil, satellites: nil, success_callback_url: nil, tags: nil, type: nil)
92
+ # A planet in the Scalar Galaxy
93
+ #
94
+ # @param id [Integer]
95
+ #
96
+ # @param name [String]
97
+ #
98
+ # @param atmosphere [Array<ScalarGalaxy::Models::Planet::Atmosphere>] Atmospheric composition
99
+ #
100
+ # @param creator [ScalarGalaxy::Models::User] A user
101
+ #
102
+ # @param description [String, nil]
103
+ #
104
+ # @param discovered_at [Time]
105
+ #
106
+ # @param failure_callback_url [String] URL which gets invoked upon a failed operation
107
+ #
108
+ # @param habitability_index [Float] A score from 0 to 1 indicating potential habitability
109
+ #
110
+ # @param image [String, nil]
111
+ #
112
+ # @param last_updated [Time]
113
+ #
114
+ # @param physical_properties [ScalarGalaxy::Models::Planet::PhysicalProperties]
115
+ #
116
+ # @param satellites [Array<Object>]
117
+ #
118
+ # @param success_callback_url [String] URL which gets invoked upon a successful operation
119
+ #
120
+ # @param tags [Array<String>]
121
+ #
122
+ # @param type [Symbol, ScalarGalaxy::Models::Planet::Type]
123
+
124
+ class Atmosphere < ScalarGalaxy::Internal::Type::BaseModel
125
+ # @!attribute compound
126
+ #
127
+ # @return [String, nil]
128
+ optional :compound, String
129
+
130
+ # @!attribute percentage
131
+ #
132
+ # @return [Float, nil]
133
+ optional :percentage, Float
134
+
135
+ # @!method initialize(compound: nil, percentage: nil)
136
+ # @param compound [String]
137
+ # @param percentage [Float]
138
+ end
139
+
140
+ # @see ScalarGalaxy::Models::Planet#physical_properties
141
+ class PhysicalProperties < ScalarGalaxy::Internal::Type::BaseModel
142
+ # @!attribute gravity
143
+ # Surface gravity in Earth g
144
+ #
145
+ # @return [Float, nil]
146
+ optional :gravity, Float
147
+
148
+ # @!attribute mass
149
+ # Mass in Earth masses (must be greater than 0)
150
+ #
151
+ # @return [Float, nil]
152
+ optional :mass, Float
153
+
154
+ # @!attribute radius
155
+ # Radius in Earth radii (must be greater than 0)
156
+ #
157
+ # @return [Float, nil]
158
+ optional :radius, Float
159
+
160
+ # @!attribute temperature
161
+ #
162
+ # @return [ScalarGalaxy::Models::Planet::PhysicalProperties::Temperature, nil]
163
+ optional :temperature, -> { ScalarGalaxy::Planet::PhysicalProperties::Temperature }
164
+
165
+ # @!method initialize(gravity: nil, mass: nil, radius: nil, temperature: nil)
166
+ # @param gravity [Float] Surface gravity in Earth g
167
+ #
168
+ # @param mass [Float] Mass in Earth masses (must be greater than 0)
169
+ #
170
+ # @param radius [Float] Radius in Earth radii (must be greater than 0)
171
+ #
172
+ # @param temperature [ScalarGalaxy::Models::Planet::PhysicalProperties::Temperature]
173
+
174
+ # @see ScalarGalaxy::Models::Planet::PhysicalProperties#temperature
175
+ class Temperature < ScalarGalaxy::Internal::Type::BaseModel
176
+ # @!attribute average
177
+ # Average temperature in Kelvin
178
+ #
179
+ # @return [Float, nil]
180
+ optional :average, Float
181
+
182
+ # @!attribute max
183
+ # Maximum temperature in Kelvin
184
+ #
185
+ # @return [Float, nil]
186
+ optional :max, Float
187
+
188
+ # @!attribute min
189
+ # Minimum temperature in Kelvin
190
+ #
191
+ # @return [Float, nil]
192
+ optional :min, Float
193
+
194
+ # @!method initialize(average: nil, max: nil, min: nil)
195
+ # @param average [Float] Average temperature in Kelvin
196
+ #
197
+ # @param max [Float] Maximum temperature in Kelvin
198
+ #
199
+ # @param min [Float] Minimum temperature in Kelvin
200
+ end
201
+ end
202
+
203
+ # @see ScalarGalaxy::Models::Planet#type
204
+ module Type
205
+ extend ScalarGalaxy::Internal::Type::Enum
206
+
207
+ TERRESTRIAL = :terrestrial
208
+ GAS_GIANT = :gas_giant
209
+ ICE_GIANT = :ice_giant
210
+ DWARF = :dwarf
211
+ SUPER_EARTH = :super_earth
212
+
213
+ # @!method self.values
214
+ # @return [Array<Symbol>]
215
+ end
216
+ end
217
+ end
218
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ # @see ScalarGalaxy::Resources::Planets#create
6
+ class PlanetCreateParams < ScalarGalaxy::Models::Planet
7
+ extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
8
+ include ScalarGalaxy::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ # @see ScalarGalaxy::Resources::Planets#delete
6
+ class PlanetDeleteParams < ScalarGalaxy::Internal::Type::BaseModel
7
+ extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
8
+ include ScalarGalaxy::Internal::Type::RequestParameters
9
+
10
+ # @!attribute planet_id
11
+ #
12
+ # @return [Integer]
13
+ required :planet_id, Integer
14
+
15
+ # @!method initialize(planet_id:, request_options: {})
16
+ # @param planet_id [Integer]
17
+ # @param request_options [ScalarGalaxy::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end