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,140 @@
1
+ # typed: strong
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ # A celestial body which can be either a planet or a satellite
6
+ module CelestialBody
7
+ extend ScalarGalaxy::Internal::Type::Union
8
+
9
+ Variants =
10
+ T.type_alias do
11
+ T.any(ScalarGalaxy::Planet, ScalarGalaxy::CelestialBody::Satellite)
12
+ end
13
+
14
+ class Satellite < ScalarGalaxy::Internal::Type::BaseModel
15
+ OrHash =
16
+ T.type_alias do
17
+ T.any(
18
+ ScalarGalaxy::CelestialBody::Satellite,
19
+ ScalarGalaxy::Internal::AnyHash
20
+ )
21
+ end
22
+
23
+ sig { returns(String) }
24
+ attr_accessor :name
25
+
26
+ sig { returns(T.nilable(Integer)) }
27
+ attr_reader :id
28
+
29
+ sig { params(id: Integer).void }
30
+ attr_writer :id
31
+
32
+ sig { returns(T.nilable(String)) }
33
+ attr_accessor :description
34
+
35
+ # Diameter in kilometers
36
+ sig { returns(T.nilable(Float)) }
37
+ attr_reader :diameter
38
+
39
+ sig { params(diameter: Float).void }
40
+ attr_writer :diameter
41
+
42
+ sig { returns(T.nilable(T.anything)) }
43
+ attr_reader :orbit
44
+
45
+ sig { params(orbit: T.anything).void }
46
+ attr_writer :orbit
47
+
48
+ sig do
49
+ returns(
50
+ T.nilable(ScalarGalaxy::CelestialBody::Satellite::Type::OrSymbol)
51
+ )
52
+ end
53
+ attr_reader :type
54
+
55
+ sig do
56
+ params(
57
+ type: ScalarGalaxy::CelestialBody::Satellite::Type::OrSymbol
58
+ ).void
59
+ end
60
+ attr_writer :type
61
+
62
+ sig do
63
+ params(
64
+ name: String,
65
+ id: Integer,
66
+ description: T.nilable(String),
67
+ diameter: Float,
68
+ orbit: T.anything,
69
+ type: ScalarGalaxy::CelestialBody::Satellite::Type::OrSymbol
70
+ ).returns(T.attached_class)
71
+ end
72
+ def self.new(
73
+ name:,
74
+ id: nil,
75
+ description: nil,
76
+ # Diameter in kilometers
77
+ diameter: nil,
78
+ orbit: nil,
79
+ type: nil
80
+ )
81
+ end
82
+
83
+ sig do
84
+ override.returns(
85
+ {
86
+ name: String,
87
+ id: Integer,
88
+ description: T.nilable(String),
89
+ diameter: Float,
90
+ orbit: T.anything,
91
+ type: ScalarGalaxy::CelestialBody::Satellite::Type::OrSymbol
92
+ }
93
+ )
94
+ end
95
+ def to_hash
96
+ end
97
+
98
+ module Type
99
+ extend ScalarGalaxy::Internal::Type::Enum
100
+
101
+ TaggedSymbol =
102
+ T.type_alias do
103
+ T.all(Symbol, ScalarGalaxy::CelestialBody::Satellite::Type)
104
+ end
105
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
106
+
107
+ MOON =
108
+ T.let(
109
+ :moon,
110
+ ScalarGalaxy::CelestialBody::Satellite::Type::TaggedSymbol
111
+ )
112
+ ASTEROID =
113
+ T.let(
114
+ :asteroid,
115
+ ScalarGalaxy::CelestialBody::Satellite::Type::TaggedSymbol
116
+ )
117
+ COMET =
118
+ T.let(
119
+ :comet,
120
+ ScalarGalaxy::CelestialBody::Satellite::Type::TaggedSymbol
121
+ )
122
+
123
+ sig do
124
+ override.returns(
125
+ T::Array[
126
+ ScalarGalaxy::CelestialBody::Satellite::Type::TaggedSymbol
127
+ ]
128
+ )
129
+ end
130
+ def self.values
131
+ end
132
+ end
133
+ end
134
+
135
+ sig { override.returns(T::Array[ScalarGalaxy::CelestialBody::Variants]) }
136
+ def self.variants
137
+ end
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,53 @@
1
+ # typed: strong
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ class CelestialBodyCreateParams < ScalarGalaxy::Internal::Type::BaseModel
6
+ extend ScalarGalaxy::Internal::Type::RequestParameters::Converter
7
+ include ScalarGalaxy::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ScalarGalaxy::CelestialBodyCreateParams,
13
+ ScalarGalaxy::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ returns(
19
+ T.any(ScalarGalaxy::Planet, ScalarGalaxy::CelestialBody::Satellite)
20
+ )
21
+ end
22
+ attr_accessor :celestial_body
23
+
24
+ sig do
25
+ params(
26
+ celestial_body:
27
+ T.any(
28
+ ScalarGalaxy::Planet::OrHash,
29
+ ScalarGalaxy::CelestialBody::Satellite::OrHash
30
+ ),
31
+ request_options: ScalarGalaxy::RequestOptions::OrHash
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(celestial_body:, request_options: {})
35
+ end
36
+
37
+ sig do
38
+ override.returns(
39
+ {
40
+ celestial_body:
41
+ T.any(
42
+ ScalarGalaxy::Planet,
43
+ ScalarGalaxy::CelestialBody::Satellite
44
+ ),
45
+ request_options: ScalarGalaxy::RequestOptions
46
+ }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ class Credentials < ScalarGalaxy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(ScalarGalaxy::Credentials, ScalarGalaxy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :email
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :password
16
+
17
+ # Credentials to authenticate a user
18
+ sig { params(email: String, password: String).returns(T.attached_class) }
19
+ def self.new(email:, password:)
20
+ end
21
+
22
+ sig { override.returns({ email: String, password: String }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,396 @@
1
+ # typed: strong
2
+
3
+ module ScalarGalaxy
4
+ module Models
5
+ class NewPlanetWebhookEvent < ScalarGalaxy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ScalarGalaxy::NewPlanetWebhookEvent,
10
+ ScalarGalaxy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(Integer) }
15
+ attr_accessor :id
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :name
19
+
20
+ # Atmospheric composition
21
+ sig do
22
+ returns(
23
+ T.nilable(T::Array[ScalarGalaxy::NewPlanetWebhookEvent::Atmosphere])
24
+ )
25
+ end
26
+ attr_reader :atmosphere
27
+
28
+ sig do
29
+ params(
30
+ atmosphere: T::Array[ScalarGalaxy::NewPlanetWebhookEvent::Atmosphere]
31
+ ).void
32
+ end
33
+ attr_writer :atmosphere
34
+
35
+ # A user
36
+ sig { returns(T.nilable(ScalarGalaxy::User)) }
37
+ attr_reader :creator
38
+
39
+ sig { params(creator: ScalarGalaxy::User).void }
40
+ attr_writer :creator
41
+
42
+ sig { returns(T.nilable(String)) }
43
+ attr_accessor :description
44
+
45
+ sig { returns(T.nilable(Time)) }
46
+ attr_reader :discovered_at
47
+
48
+ sig { params(discovered_at: Time).void }
49
+ attr_writer :discovered_at
50
+
51
+ # URL which gets invoked upon a failed operation
52
+ sig { returns(T.nilable(String)) }
53
+ attr_reader :failure_callback_url
54
+
55
+ sig { params(failure_callback_url: String).void }
56
+ attr_writer :failure_callback_url
57
+
58
+ # A score from 0 to 1 indicating potential habitability
59
+ sig { returns(T.nilable(Float)) }
60
+ attr_reader :habitability_index
61
+
62
+ sig { params(habitability_index: Float).void }
63
+ attr_writer :habitability_index
64
+
65
+ sig { returns(T.nilable(String)) }
66
+ attr_accessor :image
67
+
68
+ sig { returns(T.nilable(Time)) }
69
+ attr_reader :last_updated
70
+
71
+ sig { params(last_updated: Time).void }
72
+ attr_writer :last_updated
73
+
74
+ sig do
75
+ returns(
76
+ T.nilable(ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties)
77
+ )
78
+ end
79
+ attr_reader :physical_properties
80
+
81
+ sig do
82
+ params(
83
+ physical_properties:
84
+ ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties
85
+ ).void
86
+ end
87
+ attr_writer :physical_properties
88
+
89
+ sig { returns(T.nilable(T::Array[T.anything])) }
90
+ attr_reader :satellites
91
+
92
+ sig { params(satellites: T::Array[T.anything]).void }
93
+ attr_writer :satellites
94
+
95
+ # URL which gets invoked upon a successful operation
96
+ sig { returns(T.nilable(String)) }
97
+ attr_reader :success_callback_url
98
+
99
+ sig { params(success_callback_url: String).void }
100
+ attr_writer :success_callback_url
101
+
102
+ sig { returns(T.nilable(T::Array[String])) }
103
+ attr_reader :tags
104
+
105
+ sig { params(tags: T::Array[String]).void }
106
+ attr_writer :tags
107
+
108
+ sig do
109
+ returns(
110
+ T.nilable(ScalarGalaxy::NewPlanetWebhookEvent::Type::TaggedSymbol)
111
+ )
112
+ end
113
+ attr_reader :type
114
+
115
+ sig do
116
+ params(type: ScalarGalaxy::NewPlanetWebhookEvent::Type::OrSymbol).void
117
+ end
118
+ attr_writer :type
119
+
120
+ sig do
121
+ params(
122
+ id: Integer,
123
+ name: String,
124
+ atmosphere: T::Array[ScalarGalaxy::NewPlanetWebhookEvent::Atmosphere],
125
+ creator: ScalarGalaxy::User,
126
+ description: T.nilable(String),
127
+ discovered_at: Time,
128
+ failure_callback_url: String,
129
+ habitability_index: Float,
130
+ image: T.nilable(String),
131
+ last_updated: Time,
132
+ physical_properties:
133
+ ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties,
134
+ satellites: T::Array[T.anything],
135
+ success_callback_url: String,
136
+ tags: T::Array[String],
137
+ type: ScalarGalaxy::NewPlanetWebhookEvent::Type::OrSymbol
138
+ ).returns(T.attached_class)
139
+ end
140
+ def self.new(
141
+ id:,
142
+ name:,
143
+ # Atmospheric composition
144
+ atmosphere: nil,
145
+ # A user
146
+ creator: nil,
147
+ description: nil,
148
+ discovered_at: nil,
149
+ # URL which gets invoked upon a failed operation
150
+ failure_callback_url: nil,
151
+ # A score from 0 to 1 indicating potential habitability
152
+ habitability_index: nil,
153
+ image: nil,
154
+ last_updated: nil,
155
+ physical_properties: nil,
156
+ satellites: nil,
157
+ # URL which gets invoked upon a successful operation
158
+ success_callback_url: nil,
159
+ tags: nil,
160
+ type: nil
161
+ )
162
+ end
163
+
164
+ sig do
165
+ override.returns(
166
+ {
167
+ id: Integer,
168
+ name: String,
169
+ atmosphere:
170
+ T::Array[ScalarGalaxy::NewPlanetWebhookEvent::Atmosphere],
171
+ creator: ScalarGalaxy::User,
172
+ description: T.nilable(String),
173
+ discovered_at: Time,
174
+ failure_callback_url: String,
175
+ habitability_index: Float,
176
+ image: T.nilable(String),
177
+ last_updated: Time,
178
+ physical_properties:
179
+ ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties,
180
+ satellites: T::Array[T.anything],
181
+ success_callback_url: String,
182
+ tags: T::Array[String],
183
+ type: ScalarGalaxy::NewPlanetWebhookEvent::Type::TaggedSymbol
184
+ }
185
+ )
186
+ end
187
+ def to_hash
188
+ end
189
+
190
+ class Atmosphere < ScalarGalaxy::Internal::Type::BaseModel
191
+ OrHash =
192
+ T.type_alias do
193
+ T.any(
194
+ ScalarGalaxy::NewPlanetWebhookEvent::Atmosphere,
195
+ ScalarGalaxy::Internal::AnyHash
196
+ )
197
+ end
198
+
199
+ sig { returns(T.nilable(String)) }
200
+ attr_reader :compound
201
+
202
+ sig { params(compound: String).void }
203
+ attr_writer :compound
204
+
205
+ sig { returns(T.nilable(Float)) }
206
+ attr_reader :percentage
207
+
208
+ sig { params(percentage: Float).void }
209
+ attr_writer :percentage
210
+
211
+ sig do
212
+ params(compound: String, percentage: Float).returns(T.attached_class)
213
+ end
214
+ def self.new(compound: nil, percentage: nil)
215
+ end
216
+
217
+ sig { override.returns({ compound: String, percentage: Float }) }
218
+ def to_hash
219
+ end
220
+ end
221
+
222
+ class PhysicalProperties < ScalarGalaxy::Internal::Type::BaseModel
223
+ OrHash =
224
+ T.type_alias do
225
+ T.any(
226
+ ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties,
227
+ ScalarGalaxy::Internal::AnyHash
228
+ )
229
+ end
230
+
231
+ # Surface gravity in Earth g
232
+ sig { returns(T.nilable(Float)) }
233
+ attr_reader :gravity
234
+
235
+ sig { params(gravity: Float).void }
236
+ attr_writer :gravity
237
+
238
+ # Mass in Earth masses (must be greater than 0)
239
+ sig { returns(T.nilable(Float)) }
240
+ attr_reader :mass
241
+
242
+ sig { params(mass: Float).void }
243
+ attr_writer :mass
244
+
245
+ # Radius in Earth radii (must be greater than 0)
246
+ sig { returns(T.nilable(Float)) }
247
+ attr_reader :radius
248
+
249
+ sig { params(radius: Float).void }
250
+ attr_writer :radius
251
+
252
+ sig do
253
+ returns(
254
+ T.nilable(
255
+ ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties::Temperature
256
+ )
257
+ )
258
+ end
259
+ attr_reader :temperature
260
+
261
+ sig do
262
+ params(
263
+ temperature:
264
+ ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties::Temperature
265
+ ).void
266
+ end
267
+ attr_writer :temperature
268
+
269
+ sig do
270
+ params(
271
+ gravity: Float,
272
+ mass: Float,
273
+ radius: Float,
274
+ temperature:
275
+ ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties::Temperature
276
+ ).returns(T.attached_class)
277
+ end
278
+ def self.new(
279
+ # Surface gravity in Earth g
280
+ gravity: nil,
281
+ # Mass in Earth masses (must be greater than 0)
282
+ mass: nil,
283
+ # Radius in Earth radii (must be greater than 0)
284
+ radius: nil,
285
+ temperature: nil
286
+ )
287
+ end
288
+
289
+ sig do
290
+ override.returns(
291
+ {
292
+ gravity: Float,
293
+ mass: Float,
294
+ radius: Float,
295
+ temperature:
296
+ ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties::Temperature
297
+ }
298
+ )
299
+ end
300
+ def to_hash
301
+ end
302
+
303
+ class Temperature < ScalarGalaxy::Internal::Type::BaseModel
304
+ OrHash =
305
+ T.type_alias do
306
+ T.any(
307
+ ScalarGalaxy::NewPlanetWebhookEvent::PhysicalProperties::Temperature,
308
+ ScalarGalaxy::Internal::AnyHash
309
+ )
310
+ end
311
+
312
+ # Average temperature in Kelvin
313
+ sig { returns(T.nilable(Float)) }
314
+ attr_reader :average
315
+
316
+ sig { params(average: Float).void }
317
+ attr_writer :average
318
+
319
+ # Maximum temperature in Kelvin
320
+ sig { returns(T.nilable(Float)) }
321
+ attr_reader :max
322
+
323
+ sig { params(max: Float).void }
324
+ attr_writer :max
325
+
326
+ # Minimum temperature in Kelvin
327
+ sig { returns(T.nilable(Float)) }
328
+ attr_reader :min
329
+
330
+ sig { params(min: Float).void }
331
+ attr_writer :min
332
+
333
+ sig do
334
+ params(average: Float, max: Float, min: Float).returns(
335
+ T.attached_class
336
+ )
337
+ end
338
+ def self.new(
339
+ # Average temperature in Kelvin
340
+ average: nil,
341
+ # Maximum temperature in Kelvin
342
+ max: nil,
343
+ # Minimum temperature in Kelvin
344
+ min: nil
345
+ )
346
+ end
347
+
348
+ sig { override.returns({ average: Float, max: Float, min: Float }) }
349
+ def to_hash
350
+ end
351
+ end
352
+ end
353
+
354
+ module Type
355
+ extend ScalarGalaxy::Internal::Type::Enum
356
+
357
+ TaggedSymbol =
358
+ T.type_alias do
359
+ T.all(Symbol, ScalarGalaxy::NewPlanetWebhookEvent::Type)
360
+ end
361
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
362
+
363
+ TERRESTRIAL =
364
+ T.let(
365
+ :terrestrial,
366
+ ScalarGalaxy::NewPlanetWebhookEvent::Type::TaggedSymbol
367
+ )
368
+ GAS_GIANT =
369
+ T.let(
370
+ :gas_giant,
371
+ ScalarGalaxy::NewPlanetWebhookEvent::Type::TaggedSymbol
372
+ )
373
+ ICE_GIANT =
374
+ T.let(
375
+ :ice_giant,
376
+ ScalarGalaxy::NewPlanetWebhookEvent::Type::TaggedSymbol
377
+ )
378
+ DWARF =
379
+ T.let(:dwarf, ScalarGalaxy::NewPlanetWebhookEvent::Type::TaggedSymbol)
380
+ SUPER_EARTH =
381
+ T.let(
382
+ :super_earth,
383
+ ScalarGalaxy::NewPlanetWebhookEvent::Type::TaggedSymbol
384
+ )
385
+
386
+ sig do
387
+ override.returns(
388
+ T::Array[ScalarGalaxy::NewPlanetWebhookEvent::Type::TaggedSymbol]
389
+ )
390
+ end
391
+ def self.values
392
+ end
393
+ end
394
+ end
395
+ end
396
+ end