capistrano-data_plane_api 0.1.4 → 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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -2
  3. data/.ruby-version +1 -1
  4. data/CHANGELOG.md +6 -0
  5. data/Gemfile +7 -4
  6. data/Gemfile.lock +108 -69
  7. data/README.md +5 -0
  8. data/capistrano-data_plane_api.gemspec +5 -2
  9. data/exe/cap_data_plane_api +3 -2
  10. data/lib/capistrano/data_plane_api/configuration/backend.rb +2 -0
  11. data/lib/capistrano/data_plane_api/configuration/server.rb +4 -2
  12. data/lib/capistrano/data_plane_api/configuration/symbol.rb +2 -0
  13. data/lib/capistrano/data_plane_api/configuration.rb +3 -3
  14. data/lib/capistrano/data_plane_api/deploy/args.rb +71 -40
  15. data/lib/capistrano/data_plane_api/deploy/deployment_stats.rb +29 -25
  16. data/lib/capistrano/data_plane_api/deploy/group.rb +33 -24
  17. data/lib/capistrano/data_plane_api/deploy/helper.rb +3 -5
  18. data/lib/capistrano/data_plane_api/deploy/server_stats.rb +60 -43
  19. data/lib/capistrano/data_plane_api/deploy.rb +3 -2
  20. data/lib/capistrano/data_plane_api/diggable.rb +5 -2
  21. data/lib/capistrano/data_plane_api/equatable.rb +4 -2
  22. data/lib/capistrano/data_plane_api/helper.rb +31 -27
  23. data/lib/capistrano/data_plane_api/hooks.rb +1 -0
  24. data/lib/capistrano/data_plane_api/show_state.rb +15 -12
  25. data/lib/capistrano/data_plane_api/tasks.rb +26 -2
  26. data/lib/capistrano/data_plane_api/terminal_print_loop.rb +7 -4
  27. data/lib/capistrano/data_plane_api/type.rb +9 -5
  28. data/lib/capistrano/data_plane_api/version.rb +2 -2
  29. data/lib/capistrano/data_plane_api.rb +96 -74
  30. data/lib/capistrano-data_plane_api.rb +4 -0
  31. data/rbi/capistrano-data_plane_api.rbi +283 -0
  32. data/sorbet/config +6 -0
  33. data/sorbet/rbi/annotations/.gitattributes +1 -0
  34. data/sorbet/rbi/annotations/faraday.rbi +17 -0
  35. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  36. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  37. data/sorbet/rbi/annotations/webmock.rbi +9 -0
  38. data/sorbet/rbi/dsl/.gitattributes +1 -0
  39. data/sorbet/rbi/dsl/capistrano/data_plane_api/configuration/backend.rbi +50 -0
  40. data/sorbet/rbi/dsl/capistrano/data_plane_api/configuration/server.rbi +24 -0
  41. data/sorbet/rbi/dsl/capistrano/data_plane_api/configuration.rbi +52 -0
  42. data/sorbet/rbi/dsl/capistrano/data_plane_api/type.rbi +12 -0
  43. data/sorbet/rbi/gems/.gitattributes +1 -0
  44. data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
  45. data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
  46. data/sorbet/rbi/gems/base64@0.2.0.rbi +509 -0
  47. data/sorbet/rbi/gems/bigdecimal@3.1.9.rbi +8 -0
  48. data/sorbet/rbi/gems/booleans@0.1.3.rbi +28 -0
  49. data/sorbet/rbi/gems/byebug@12.0.0.rbi +37 -0
  50. data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
  51. data/sorbet/rbi/gems/data_plane_api@0.2.0.rbi +238 -0
  52. data/sorbet/rbi/gems/faraday-net_http@3.4.0.rbi +147 -0
  53. data/sorbet/rbi/gems/faraday@2.13.0.rbi +2974 -0
  54. data/sorbet/rbi/gems/hashdiff@1.1.2.rbi +353 -0
  55. data/sorbet/rbi/gems/json@2.10.2.rbi +2113 -0
  56. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
  57. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  58. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1547 -0
  59. data/sorbet/rbi/gems/net-http@0.6.0.rbi +4247 -0
  60. data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
  61. data/sorbet/rbi/gems/pastel@0.8.0.rbi +733 -0
  62. data/sorbet/rbi/gems/public_suffix@6.0.1.rbi +936 -0
  63. data/sorbet/rbi/gems/racc@1.8.1.rbi +160 -0
  64. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +404 -0
  65. data/sorbet/rbi/gems/rake@13.0.6.rbi +3030 -0
  66. data/sorbet/rbi/gems/rexml@3.4.1.rbi +5346 -0
  67. data/sorbet/rbi/gems/rubocop-espago@1.1.8.rbi +9 -0
  68. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1318 -0
  69. data/sorbet/rbi/gems/shale-builder@0.2.4.rbi +9 -0
  70. data/sorbet/rbi/gems/shale@1.2.2.rbi +2323 -0
  71. data/sorbet/rbi/gems/shoulda-context@2.0.0.rbi +563 -0
  72. data/sorbet/rbi/gems/strings-ansi@0.2.0.rbi +178 -0
  73. data/sorbet/rbi/gems/strings@0.2.1.rbi +830 -0
  74. data/sorbet/rbi/gems/thor@1.2.1.rbi +3957 -0
  75. data/sorbet/rbi/gems/tty-box@0.7.0.rbi +593 -0
  76. data/sorbet/rbi/gems/tty-color@0.6.0.rbi +241 -0
  77. data/sorbet/rbi/gems/tty-cursor@0.7.1.rbi +443 -0
  78. data/sorbet/rbi/gems/unicode-display_width@2.6.0.rbi +66 -0
  79. data/sorbet/rbi/gems/unicode_utils@1.4.0.rbi +184 -0
  80. data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
  81. data/sorbet/rbi/gems/vcr@6.3.1.rbi +3040 -0
  82. data/sorbet/rbi/gems/webmock@3.25.1.rbi +1792 -0
  83. data/sorbet/rbi/shims/gems/faraday.rbi +21 -0
  84. data/sorbet/rbi/shims/gems/shoulda-context@2.0.0.rbi +15 -0
  85. data/sorbet/rbi/todo.rbi +7 -0
  86. data/sorbet/tapioca/config.yml +28 -0
  87. data/sorbet/tapioca/extensions/load_gem.rb +1 -0
  88. data/sorbet/tapioca/require.rb +4 -0
  89. data/templates/bin/deploy.rb +1 -0
  90. metadata +106 -8
@@ -0,0 +1,2323 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `shale` gem.
5
+ # Please instead update this file by running `bin/tapioca gem shale`.
6
+
7
+
8
+ # Main library namespace
9
+ #
10
+ # Shale uses adapters for parsing and serializing documents.
11
+ # For handling JSON, YAML, TOML and CSV, adapter must implement .load and .dump methods, so
12
+ # e.g for handling JSON, MultiJson works out of the box.
13
+ #
14
+ # Adapters for XML handling are more complicated and must conform to [@see shale/adapter/rexml]
15
+ # Shale provides adaters for most popular XML parsing libraries:
16
+ # Shale::Adapter::REXML, Shale::Adapter::Nokogiri and Shale::Adapter::Ox
17
+ #
18
+ # By default Shale::Adapter::REXML is used so no external dependencies are needed, but it's
19
+ # not as performant as Nokogiri or Ox, so you may want to change it.
20
+ #
21
+ # @api public
22
+ # @example setting MultiJSON for handling JSON documents
23
+ # Shale.json_adapter = MultiJson
24
+ # Shale.json_adapter # => MultiJson
25
+ # @example setting TOML adapter for handling TOML documents
26
+ # require 'shale/adapter/toml_rb'
27
+ #
28
+ # Shale.toml_adapter = Shale::Adapter::TomlRB
29
+ # Shale.toml_adapter # => Shale::Adapter::TomlRB
30
+ # @example setting REXML adapter for handling XML documents
31
+ # Shale.xml_adapter = Shale::Adapter::REXML
32
+ # Shale.xml_adapter # => Shale::Adapter::REXML
33
+ # @example setting Nokogiri adapter for handling XML documents
34
+ # require 'shale/adapter/nokogiri'
35
+ #
36
+ # Shale.xml_adapter = Shale::Adapter::Nokogir
37
+ # Shale.xml_adapter # => Shale::Adapter::Nokogir
38
+ # @example setting Ox adapter for handling XML documents
39
+ # require 'shale/adapter/ox'
40
+ #
41
+ # Shale.xml_adapter = Shale::Adapter::Ox
42
+ # Shale.xml_adapter # => Shale::Adapter::Ox
43
+ # @example setting CSV adapter for handling CSV documents
44
+ # require 'shale/adapter/csv'
45
+ #
46
+ # Shale.csv_adapter = Shale::Adapter::CSV
47
+ # Shale.csv_adapter # => Shale::Adapter::CSV
48
+ #
49
+ # source://shale//lib/shale/attribute.rb#3
50
+ module Shale
51
+ class << self
52
+ # Set CSV adapter
53
+ #
54
+ # @api public
55
+ # @example setting adapter
56
+ # Shale.csv_adapter = Shale::Adapter::CSV
57
+ # @example getting adapter
58
+ # Shale.csv_adapter
59
+ # # => Shale::Adapter::CSV
60
+ # @param adapter [.load, .dump]
61
+ #
62
+ # source://shale//lib/shale.rb#113
63
+ def csv_adapter; end
64
+
65
+ # Set CSV adapter
66
+ #
67
+ # @api public
68
+ # @example setting adapter
69
+ # Shale.csv_adapter = Shale::Adapter::CSV
70
+ # @example getting adapter
71
+ # Shale.csv_adapter
72
+ # # => Shale::Adapter::CSV
73
+ # @param adapter [.load, .dump]
74
+ #
75
+ # source://shale//lib/shale.rb#113
76
+ def csv_adapter=(_arg0); end
77
+
78
+ # Return JSON adapter. By default Shale::Adapter::JSON is used
79
+ #
80
+ # @api public
81
+ # @example
82
+ # Shale.json_adapter
83
+ # # => Shale::Adapter::JSON
84
+ # @return [.load, .dump]
85
+ #
86
+ # source://shale//lib/shale.rb#139
87
+ def json_adapter; end
88
+
89
+ # Set JSON adapter
90
+ #
91
+ # @api public
92
+ # @example
93
+ # Shale.json_adapter = Shale::Adapter::JSON
94
+ # @param adapter [.load, .dump]
95
+ #
96
+ # source://shale//lib/shale.rb#74
97
+ def json_adapter=(_arg0); end
98
+
99
+ # TOML adapter accessor. Available adapters are Shale::Adapter::Tomlib
100
+ # and Shale::Adapter::TomRB
101
+ #
102
+ # @api public
103
+ # @example setting adapter
104
+ # Shale.toml_adapter = Shale::Adapter::Tomlib
105
+ # @example getting adapter
106
+ # Shale.toml_adapter
107
+ # # => Shale::Adapter::Tomlib
108
+ # @param adapter [@see Shale::Adapter::Tomlib]
109
+ #
110
+ # source://shale//lib/shale.rb#99
111
+ def toml_adapter; end
112
+
113
+ # TOML adapter accessor. Available adapters are Shale::Adapter::Tomlib
114
+ # and Shale::Adapter::TomRB
115
+ #
116
+ # @api public
117
+ # @example setting adapter
118
+ # Shale.toml_adapter = Shale::Adapter::Tomlib
119
+ # @example getting adapter
120
+ # Shale.toml_adapter
121
+ # # => Shale::Adapter::Tomlib
122
+ # @param adapter [@see Shale::Adapter::Tomlib]
123
+ #
124
+ # source://shale//lib/shale.rb#99
125
+ def toml_adapter=(_arg0); end
126
+
127
+ # XML adapter accessor. Available adapters are Shale::Adapter::REXML,
128
+ # Shale::Adapter::Nokogiri and Shale::Adapter::Ox
129
+ #
130
+ # @api public
131
+ # @example setting adapter
132
+ # Shale.xml_adapter = Shale::Adapter::REXML
133
+ # @example getting adapter
134
+ # Shale.xml_adapter
135
+ # # => Shale::Adapter::REXML
136
+ # @param adapter [@see Shale::Adapter::REXML]
137
+ #
138
+ # source://shale//lib/shale.rb#128
139
+ def xml_adapter; end
140
+
141
+ # XML adapter accessor. Available adapters are Shale::Adapter::REXML,
142
+ # Shale::Adapter::Nokogiri and Shale::Adapter::Ox
143
+ #
144
+ # @api public
145
+ # @example setting adapter
146
+ # Shale.xml_adapter = Shale::Adapter::REXML
147
+ # @example getting adapter
148
+ # Shale.xml_adapter
149
+ # # => Shale::Adapter::REXML
150
+ # @param adapter [@see Shale::Adapter::REXML]
151
+ #
152
+ # source://shale//lib/shale.rb#128
153
+ def xml_adapter=(_arg0); end
154
+
155
+ # Return YAML adapter. By default YAML is used
156
+ #
157
+ # @api public
158
+ # @example
159
+ # Shale.yaml_adapter
160
+ # # => YAML
161
+ # @return [.load, .dump]
162
+ #
163
+ # source://shale//lib/shale.rb#152
164
+ def yaml_adapter; end
165
+
166
+ # Set YAML adapter
167
+ #
168
+ # @api public
169
+ # @example
170
+ # Shale.yaml_adapter = YAML
171
+ # @param adapter [.load, .dump]
172
+ #
173
+ # source://shale//lib/shale.rb#84
174
+ def yaml_adapter=(_arg0); end
175
+ end
176
+ end
177
+
178
+ # source://shale//lib/shale/adapter/json.rb#6
179
+ module Shale::Adapter; end
180
+
181
+ # JSON adapter
182
+ #
183
+ # @api public
184
+ #
185
+ # source://shale//lib/shale/adapter/json.rb#10
186
+ class Shale::Adapter::JSON
187
+ class << self
188
+ # Serialize Hash into JSON
189
+ #
190
+ # @api private
191
+ # @param obj [Hash] Hash object
192
+ # @param options [Hash]
193
+ # @return [String]
194
+ #
195
+ # source://shale//lib/shale/adapter/json.rb#31
196
+ def dump(obj, **options); end
197
+
198
+ # Parse JSON into Hash
199
+ #
200
+ # @api private
201
+ # @param json [String] JSON document
202
+ # @param options [Hash]
203
+ # @return [Hash]
204
+ #
205
+ # source://shale//lib/shale/adapter/json.rb#19
206
+ def load(json, **options); end
207
+ end
208
+ end
209
+
210
+ # Adapter error
211
+ #
212
+ # @api private
213
+ #
214
+ # source://shale//lib/shale/error.rb#141
215
+ class Shale::AdapterError < ::Shale::ShaleError; end
216
+
217
+ # Class representing object's attribute
218
+ #
219
+ # @api private
220
+ #
221
+ # source://shale//lib/shale/attribute.rb#7
222
+ class Shale::Attribute
223
+ # Initialize Attribute object
224
+ #
225
+ # @api private
226
+ # @param name [Symbol] Name of the attribute
227
+ # @param type [Shale::Type::Value] Type of the attribute
228
+ # @param collection [Boolean] Is this attribute a collection
229
+ # @param default [Proc] Default value
230
+ # @return [Attribute] a new instance of Attribute
231
+ #
232
+ # source://shale//lib/shale/attribute.rb#36
233
+ def initialize(name, type, collection, default); end
234
+
235
+ # Return wheter attribute is collection or not
236
+ #
237
+ # @api private
238
+ # @return [Boolean]
239
+ #
240
+ # source://shale//lib/shale/attribute.rb#49
241
+ def collection?; end
242
+
243
+ # Return default
244
+ #
245
+ # @api private
246
+ #
247
+ # source://shale//lib/shale/attribute.rb#21
248
+ def default; end
249
+
250
+ # Return name
251
+ #
252
+ # @api private
253
+ #
254
+ # source://shale//lib/shale/attribute.rb#11
255
+ def name; end
256
+
257
+ # Return setter name
258
+ #
259
+ # @api private
260
+ #
261
+ # source://shale//lib/shale/attribute.rb#26
262
+ def setter; end
263
+
264
+ # Return type
265
+ #
266
+ # @api private
267
+ #
268
+ # source://shale//lib/shale/attribute.rb#16
269
+ def type; end
270
+ end
271
+
272
+ # Raised when receiver attribute is not defined
273
+ #
274
+ # @api private
275
+ #
276
+ # source://shale//lib/shale/error.rb#123
277
+ class Shale::AttributeNotDefinedError < ::Shale::ShaleError; end
278
+
279
+ # Error message displayed when CSV adapter is not set
280
+ #
281
+ # @api private
282
+ #
283
+ # source://shale//lib/shale/error.rb#44
284
+ Shale::CSV_ADAPTER_NOT_SET_MESSAGE = T.let(T.unsafe(nil), String)
285
+
286
+ # Error for trying to assign not callable object as an attribute's default
287
+ #
288
+ # @api private
289
+ #
290
+ # source://shale//lib/shale/error.rb#78
291
+ class Shale::DefaultNotCallableError < ::Shale::ShaleError
292
+ # Initialize error object
293
+ #
294
+ # @api private
295
+ # @param record [String]
296
+ # @param attribute [String]
297
+ # @return [DefaultNotCallableError] a new instance of DefaultNotCallableError
298
+ #
299
+ # source://shale//lib/shale/error.rb#85
300
+ def initialize(record, attribute); end
301
+ end
302
+
303
+ # Error for passing incorrect arguments to map functions
304
+ #
305
+ # @api private
306
+ #
307
+ # source://shale//lib/shale/error.rb#99
308
+ class Shale::IncorrectMappingArgumentsError < ::Shale::ShaleError; end
309
+
310
+ # Error for passing incorrect model type
311
+ #
312
+ # @api private
313
+ #
314
+ # source://shale//lib/shale/error.rb#93
315
+ class Shale::IncorrectModelError < ::Shale::ShaleError; end
316
+
317
+ # Base class used for mapping
318
+ #
319
+ # @api public
320
+ # @example
321
+ # class Address < Shale::Mapper
322
+ # attribute :city, :string
323
+ # attribute :street, :string
324
+ # attribute :state, :string
325
+ # attribute :zip, :string
326
+ # end
327
+ #
328
+ # class Person < Shale::Mapper
329
+ # attribute :first_name, :string
330
+ # attribute :last_name, :string
331
+ # attribute :age, :integer
332
+ # attribute :address, Address
333
+ # end
334
+ #
335
+ # person = Person.from_json(%{
336
+ # {
337
+ # "first_name": "John",
338
+ # "last_name": "Doe",
339
+ # "age": 55,
340
+ # "address": {
341
+ # "city": "London",
342
+ # "street": "Oxford Street",
343
+ # "state": "London",
344
+ # "zip": "E1 6AN"
345
+ # }
346
+ # }
347
+ # })
348
+ #
349
+ # person.to_json
350
+ #
351
+ # source://shale//lib/shale/mapper.rb#46
352
+ class Shale::Mapper < ::Shale::Type::Complex
353
+ # Initialize instance with properties
354
+ #
355
+ # @api public
356
+ # @example
357
+ # Person.new(
358
+ # first_name: 'John',
359
+ # last_name: 'Doe',
360
+ # address: Address.new(city: 'London')
361
+ # )
362
+ # # => #<Person:0x00007f82768a2370
363
+ # @first_name="John",
364
+ # @last_name="Doe"
365
+ # @address=#<Address:0x00007fe9cf0f57d8 @city="London">>
366
+ # @param props [Hash] Properties
367
+ # @raise [UnknownAttributeError] when attribute is not defined on the class
368
+ # @return [Mapper] a new instance of Mapper
369
+ #
370
+ # source://shale//lib/shale/mapper.rb#369
371
+ def initialize(**props); end
372
+
373
+ class << self
374
+ # Define attribute on class
375
+ #
376
+ # @api public
377
+ # @example
378
+ # class Person < Shale::Mapper
379
+ # attribute :first_name, :string
380
+ # attribute :last_name, :string
381
+ # attribute :age, :integer, default: -> { 1 }
382
+ # attribute :hobbies, :string, collection: true
383
+ # end
384
+ #
385
+ # person = Person.new
386
+ #
387
+ # person.first_name # => nil
388
+ # person.first_name = 'John'
389
+ # person.first_name # => 'John'
390
+ #
391
+ # person.age # => 1
392
+ #
393
+ # person.hobbies << 'Dancing'
394
+ # person.hobbies # => ['Dancing']
395
+ # @param type [Symbol, Class<Shale::Type::Value>] Type of the attribute
396
+ # @param default [Proc] Default value for the attribute
397
+ # @param collection [Boolean] Is the attribute a collection
398
+ # @param name [Symbol] Name of the attribute
399
+ # @raise [DefaultNotCallableError] when attribute's default is not callable
400
+ # @raise [UnknownTypeError] when type is a symbol and not found in the registry
401
+ #
402
+ # source://shale//lib/shale/mapper.rb#175
403
+ def attribute(name, type, collection: T.unsafe(nil), default: T.unsafe(nil)); end
404
+
405
+ # Return attributes Hash
406
+ #
407
+ # @api public
408
+ # @return [Hash<Symbol, Shale::Attribute>]
409
+ #
410
+ # source://shale//lib/shale/mapper.rb#62
411
+ def attributes; end
412
+
413
+ # Define CSV mapping
414
+ #
415
+ # @api public
416
+ # @example
417
+ # class Person < Shale::Mapper
418
+ # attribute :first_name, :string
419
+ # attribute :last_name, :string
420
+ # attribute :age, :integer
421
+ #
422
+ # csv do
423
+ # map 'first_name', to: :first_name
424
+ # map 'last_name', to: :last_name
425
+ # map 'age', to: :age
426
+ # end
427
+ # end
428
+ # @param block [Proc]
429
+ #
430
+ # source://shale//lib/shale/mapper.rb#318
431
+ def csv(&block); end
432
+
433
+ # Return CSV mapping object
434
+ #
435
+ # @api public
436
+ # @return [Shale::Mapping::Dict]
437
+ #
438
+ # source://shale//lib/shale/mapper.rb#97
439
+ def csv_mapping; end
440
+
441
+ # Return Hash mapping object
442
+ #
443
+ # @api public
444
+ # @return [Shale::Mapping::Dict]
445
+ #
446
+ # source://shale//lib/shale/mapper.rb#69
447
+ def hash_mapping; end
448
+
449
+ # Define Hash mapping
450
+ #
451
+ # @api public
452
+ # @example
453
+ # class Person < Shale::Mapper
454
+ # attribute :first_name, :string
455
+ # attribute :last_name, :string
456
+ # attribute :age, :integer
457
+ #
458
+ # hsh do
459
+ # map 'firstName', to: :first_name
460
+ # map 'lastName', to: :last_name
461
+ # map 'age', to: :age
462
+ # end
463
+ # end
464
+ # @param block [Proc]
465
+ #
466
+ # source://shale//lib/shale/mapper.rb#222
467
+ def hsh(&block); end
468
+
469
+ # @api private
470
+ # @private
471
+ #
472
+ # source://shale//lib/shale/mapper.rb#107
473
+ def inherited(subclass); end
474
+
475
+ # Define JSON mapping
476
+ #
477
+ # @api public
478
+ # @example
479
+ # class Person < Shale::Mapper
480
+ # attribute :first_name, :string
481
+ # attribute :last_name, :string
482
+ # attribute :age, :integer
483
+ #
484
+ # json do
485
+ # map 'firstName', to: :first_name
486
+ # map 'lastName', to: :last_name
487
+ # map 'age', to: :age
488
+ # end
489
+ # end
490
+ # @param block [Proc]
491
+ #
492
+ # source://shale//lib/shale/mapper.rb#246
493
+ def json(&block); end
494
+
495
+ # Return JSON mapping object
496
+ #
497
+ # @api public
498
+ # @return [Shale::Mapping::Dict]
499
+ #
500
+ # source://shale//lib/shale/mapper.rb#76
501
+ def json_mapping; end
502
+
503
+ # @api public
504
+ #
505
+ # source://shale//lib/shale/mapper.rb#136
506
+ def model(klass = T.unsafe(nil)); end
507
+
508
+ # Define TOML mapping
509
+ #
510
+ # @api public
511
+ # @example
512
+ # class Person < Shale::Mapper
513
+ # attribute :first_name, :string
514
+ # attribute :last_name, :string
515
+ # attribute :age, :integer
516
+ #
517
+ # toml do
518
+ # map 'first_name', to: :first_name
519
+ # map 'last_name', to: :last_name
520
+ # map 'age', to: :age
521
+ # end
522
+ # end
523
+ # @param block [Proc]
524
+ #
525
+ # source://shale//lib/shale/mapper.rb#294
526
+ def toml(&block); end
527
+
528
+ # Return TOML mapping object
529
+ #
530
+ # @api public
531
+ # @return [Shale::Mapping::Dict]
532
+ #
533
+ # source://shale//lib/shale/mapper.rb#90
534
+ def toml_mapping; end
535
+
536
+ # Define XML mapping
537
+ #
538
+ # @api public
539
+ # @example
540
+ # class Person < Shale::Mapper
541
+ # attribute :first_name, :string
542
+ # attribute :last_name, :string
543
+ # attribute :age, :integer
544
+ #
545
+ # xml do
546
+ # root 'Person'
547
+ # map_content to: :first_name
548
+ # map_element 'LastName', to: :last_name
549
+ # map_attribute 'age', to: :age
550
+ # end
551
+ # end
552
+ # @param block [Proc]
553
+ #
554
+ # source://shale//lib/shale/mapper.rb#343
555
+ def xml(&block); end
556
+
557
+ # Return XML mapping object
558
+ #
559
+ # @api public
560
+ # @return [Shale::Mapping::XML]
561
+ #
562
+ # source://shale//lib/shale/mapper.rb#104
563
+ def xml_mapping; end
564
+
565
+ # Define YAML mapping
566
+ #
567
+ # @api public
568
+ # @example
569
+ # class Person < Shale::Mapper
570
+ # attribute :first_name, :string
571
+ # attribute :last_name, :string
572
+ # attribute :age, :integer
573
+ #
574
+ # yaml do
575
+ # map 'first_name', to: :first_name
576
+ # map 'last_name', to: :last_name
577
+ # map 'age', to: :age
578
+ # end
579
+ # end
580
+ # @param block [Proc]
581
+ #
582
+ # source://shale//lib/shale/mapper.rb#270
583
+ def yaml(&block); end
584
+
585
+ # Return YAML mapping object
586
+ #
587
+ # @api public
588
+ # @return [Shale::Mapping::Dict]
589
+ #
590
+ # source://shale//lib/shale/mapper.rb#83
591
+ def yaml_mapping; end
592
+ end
593
+ end
594
+
595
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#4
596
+ module Shale::Mapping; end
597
+
598
+ # Class for handling attribute delegation
599
+ #
600
+ # @api private
601
+ #
602
+ # source://shale//lib/shale/mapping/delegates.rb#8
603
+ class Shale::Mapping::Delegates
604
+ # Initialize instance
605
+ #
606
+ # @api private
607
+ # @return [Delegates] a new instance of Delegates
608
+ #
609
+ # source://shale//lib/shale/mapping/delegates.rb#51
610
+ def initialize; end
611
+
612
+ # Add single value to delegate
613
+ #
614
+ # @api private
615
+ # @param receiver_attribute [Shale::Attribute]
616
+ # @param setter [String]
617
+ # @param value [any]
618
+ #
619
+ # source://shale//lib/shale/mapping/delegates.rb#62
620
+ def add(receiver_attribute, setter, value); end
621
+
622
+ # Add collection to delegate
623
+ #
624
+ # @api private
625
+ # @param receiver_attribute [Shale::Attribute]
626
+ # @param setter [String]
627
+ # @param value [any]
628
+ #
629
+ # source://shale//lib/shale/mapping/delegates.rb#73
630
+ def add_collection(receiver_attribute, setter, value); end
631
+
632
+ # Iterate over delegates and yield a block
633
+ #
634
+ # @api private
635
+ # @param block [Proc]
636
+ #
637
+ # source://shale//lib/shale/mapping/delegates.rb#90
638
+ def each(&block); end
639
+ end
640
+
641
+ # Class representing individual delegation
642
+ #
643
+ # @api private
644
+ #
645
+ # source://shale//lib/shale/mapping/delegates.rb#12
646
+ class Shale::Mapping::Delegates::Delegate
647
+ # Initialize instance
648
+ #
649
+ # @api private
650
+ # @param receiver_attribute [Shale::Attribute]
651
+ # @param setter [String]
652
+ # @param value [any]
653
+ # @return [Delegate] a new instance of Delegate
654
+ #
655
+ # source://shale//lib/shale/mapping/delegates.rb#41
656
+ def initialize(receiver_attribute, setter, value); end
657
+
658
+ # Return receiver_attribute
659
+ #
660
+ # @api private
661
+ # @return [Shale::Attribute]
662
+ #
663
+ # source://shale//lib/shale/mapping/delegates.rb#18
664
+ def receiver_attribute; end
665
+
666
+ # Return attribute setter on a delegate
667
+ #
668
+ # @api private
669
+ # @return [String]
670
+ #
671
+ # source://shale//lib/shale/mapping/delegates.rb#25
672
+ def setter; end
673
+
674
+ # Return value to set on a delegate
675
+ #
676
+ # @api private
677
+ # @return [any]
678
+ #
679
+ # source://shale//lib/shale/mapping/delegates.rb#32
680
+ def value; end
681
+ end
682
+
683
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#5
684
+ module Shale::Mapping::Descriptor; end
685
+
686
+ # Class representing attribute mapping
687
+ #
688
+ # @api private
689
+ #
690
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#9
691
+ class Shale::Mapping::Descriptor::Dict
692
+ # Initialize instance
693
+ #
694
+ # @api private
695
+ # @param name [String]
696
+ # @param attribute [Symbol, nil]
697
+ # @param receiver [Symbol, nil]
698
+ # @param group [String, nil]
699
+ # @param render_nil [true, false]
700
+ # @param schema [Hash, nil]
701
+ # @param methods [Hash, nil]
702
+ # @return [Dict] a new instance of Dict
703
+ #
704
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#70
705
+ def initialize(name:, attribute:, receiver:, methods:, group:, render_nil:, schema: T.unsafe(nil)); end
706
+
707
+ # Return attribute name
708
+ #
709
+ # @api private
710
+ # @return [Symbol]
711
+ #
712
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#22
713
+ def attribute; end
714
+
715
+ # Return group name
716
+ #
717
+ # @api private
718
+ # @return [String]
719
+ #
720
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#50
721
+ def group; end
722
+
723
+ # Return method symbol
724
+ #
725
+ # @api private
726
+ # @return [Symbol]
727
+ #
728
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#36
729
+ def method_from; end
730
+
731
+ # Return method symbol
732
+ #
733
+ # @api private
734
+ # @return [Symbol]
735
+ #
736
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#43
737
+ def method_to; end
738
+
739
+ # Return mapping name
740
+ #
741
+ # @api private
742
+ # @return [String]
743
+ #
744
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#15
745
+ def name; end
746
+
747
+ # Return receiver name
748
+ #
749
+ # @api private
750
+ # @return [Symbol]
751
+ #
752
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#29
753
+ def receiver; end
754
+
755
+ # Check render_nil
756
+ #
757
+ # @api private
758
+ # @return [true, false]
759
+ #
760
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#89
761
+ def render_nil?; end
762
+
763
+ # Return schema hash
764
+ #
765
+ # @api private
766
+ # @return [Hash]
767
+ #
768
+ # source://shale//lib/shale/mapping/descriptor/dict.rb#57
769
+ def schema; end
770
+ end
771
+
772
+ # Class representing XML attribute mapping
773
+ #
774
+ # @api private
775
+ #
776
+ # source://shale//lib/shale/mapping/descriptor/xml.rb#11
777
+ class Shale::Mapping::Descriptor::Xml < ::Shale::Mapping::Descriptor::Dict
778
+ # Initialize instance
779
+ #
780
+ # @api private
781
+ # @param name [String]
782
+ # @param attribute [Symbol, nil]
783
+ # @param receiver [Symbol, nil]
784
+ # @param methods [Hash, nil]
785
+ # @param namespace [Shale::Mapping::XmlNamespace]
786
+ # @param cdata [true, false]
787
+ # @param render_nil [true, false]
788
+ # @param group [String, nil]
789
+ # @return [Xml] a new instance of Xml
790
+ #
791
+ # source://shale//lib/shale/mapping/descriptor/xml.rb#38
792
+ def initialize(name:, attribute:, receiver:, methods:, group:, namespace:, cdata:, render_nil:); end
793
+
794
+ # Return cdata
795
+ #
796
+ # @api private
797
+ # @return [true, false]
798
+ #
799
+ # source://shale//lib/shale/mapping/descriptor/xml.rb#24
800
+ def cdata; end
801
+
802
+ # Return namespace
803
+ #
804
+ # @api private
805
+ # @return [String]
806
+ #
807
+ # source://shale//lib/shale/mapping/descriptor/xml.rb#17
808
+ def namespace; end
809
+
810
+ # Return name with XML namespace
811
+ #
812
+ # @api private
813
+ # @return [String]
814
+ #
815
+ # source://shale//lib/shale/mapping/descriptor/xml.rb#75
816
+ def namespaced_name; end
817
+
818
+ # Return name with XML prefix
819
+ #
820
+ # @api private
821
+ # @return [String]
822
+ #
823
+ # source://shale//lib/shale/mapping/descriptor/xml.rb#66
824
+ def prefixed_name; end
825
+ end
826
+
827
+ # Class representing XML namespace
828
+ #
829
+ # @api private
830
+ #
831
+ # source://shale//lib/shale/mapping/descriptor/xml_namespace.rb#9
832
+ class Shale::Mapping::Descriptor::XmlNamespace
833
+ # Initialize instance
834
+ #
835
+ # @api private
836
+ # @param name [String, nil]
837
+ # @param prefix [String, nil]
838
+ # @return [XmlNamespace] a new instance of XmlNamespace
839
+ #
840
+ # source://shale//lib/shale/mapping/descriptor/xml_namespace.rb#30
841
+ def initialize(name = T.unsafe(nil), prefix = T.unsafe(nil)); end
842
+
843
+ # Return name
844
+ #
845
+ # @api private
846
+ # @return [String]
847
+ #
848
+ # source://shale//lib/shale/mapping/descriptor/xml_namespace.rb#15
849
+ def name; end
850
+
851
+ # Return name
852
+ #
853
+ # @api private
854
+ # @return [String]
855
+ #
856
+ # source://shale//lib/shale/mapping/descriptor/xml_namespace.rb#15
857
+ def name=(_arg0); end
858
+
859
+ # Return prefix
860
+ #
861
+ # @api private
862
+ # @return [String]
863
+ #
864
+ # source://shale//lib/shale/mapping/descriptor/xml_namespace.rb#22
865
+ def prefix; end
866
+
867
+ # Return prefix
868
+ #
869
+ # @api private
870
+ # @return [String]
871
+ #
872
+ # source://shale//lib/shale/mapping/descriptor/xml_namespace.rb#22
873
+ def prefix=(_arg0); end
874
+ end
875
+
876
+ # Mapping for dictionary serialization formats (Hash/JSON/YAML/TOML/CSV)
877
+ #
878
+ # @api private
879
+ #
880
+ # source://shale//lib/shale/mapping/dict.rb#11
881
+ class Shale::Mapping::Dict < ::Shale::Mapping::DictBase
882
+ # Map group of keys to mapping methods
883
+ #
884
+ # @api private
885
+ # @param from [Symbol]
886
+ # @param to [Symbol]
887
+ # @param block [Proc]
888
+ #
889
+ # source://shale//lib/shale/mapping/dict.rb#44
890
+ def group(from:, to:, &block); end
891
+
892
+ # Map key to attribute
893
+ #
894
+ # @api public
895
+ # @param key [String] Document's key
896
+ # @param to [Symbol, nil]
897
+ # @param receiver [Symbol, nil]
898
+ # @param render_nil [true, false, nil]
899
+ # @param schema [Hash, nil]
900
+ # @param using [Hash, nil]
901
+ # @raise [IncorrectMappingArgumentsError] when arguments are incorrect
902
+ #
903
+ # source://shale//lib/shale/mapping/dict.rb#24
904
+ def map(key, to: T.unsafe(nil), receiver: T.unsafe(nil), using: T.unsafe(nil), render_nil: T.unsafe(nil), schema: T.unsafe(nil)); end
905
+
906
+ # Set render_nil default
907
+ #
908
+ # @api private
909
+ # @param val [true, false]
910
+ #
911
+ # source://shale//lib/shale/mapping/dict.rb#33
912
+ def render_nil(val); end
913
+ end
914
+
915
+ # Base class for Mapping dictionary serialization formats (Hash/JSON/YAML/TOML/CSV)
916
+ #
917
+ # @api private
918
+ #
919
+ # source://shale//lib/shale/mapping/dict_base.rb#11
920
+ class Shale::Mapping::DictBase
921
+ # Initialize instance
922
+ #
923
+ # @api private
924
+ # @param render_nil_default [true, false]
925
+ # @return [DictBase] a new instance of DictBase
926
+ #
927
+ # source://shale//lib/shale/mapping/dict_base.rb#31
928
+ def initialize(render_nil_default: T.unsafe(nil)); end
929
+
930
+ # Set the "finalized" instance variable to true
931
+ #
932
+ # @api private
933
+ #
934
+ # source://shale//lib/shale/mapping/dict_base.rb#85
935
+ def finalize!; end
936
+
937
+ # Query the "finalized" instance variable
938
+ #
939
+ # @api private
940
+ # @return [truem false]
941
+ #
942
+ # source://shale//lib/shale/mapping/dict_base.rb#94
943
+ def finalized?; end
944
+
945
+ # Return keys mapping hash
946
+ #
947
+ # @api private
948
+ # @return [Hash]
949
+ #
950
+ # source://shale//lib/shale/mapping/dict_base.rb#17
951
+ def keys; end
952
+
953
+ # Map key to attribute
954
+ #
955
+ # @api private
956
+ # @param key [String]
957
+ # @param to [Symbol, nil]
958
+ # @param receiver [Symbol, nil]
959
+ # @param group [String, nil]
960
+ # @param render_nil [true, false, nil]
961
+ # @param schema [Hash, nil]
962
+ # @param using [Hash, nil]
963
+ # @raise [IncorrectMappingArgumentsError] when arguments are incorrect
964
+ #
965
+ # source://shale//lib/shale/mapping/dict_base.rb#51
966
+ def map(key, to: T.unsafe(nil), receiver: T.unsafe(nil), using: T.unsafe(nil), group: T.unsafe(nil), render_nil: T.unsafe(nil), schema: T.unsafe(nil)); end
967
+
968
+ # Allow schema properties to be set on the object
969
+ #
970
+ # @api public
971
+ # @param min_properties [Integer]
972
+ # @param max_properties [Integer]
973
+ # @param dependent_required [Hash]
974
+ # @param additional_properties [Boolean]
975
+ #
976
+ # source://shale//lib/shale/mapping/dict_base.rb#73
977
+ def properties(min_properties: T.unsafe(nil), max_properties: T.unsafe(nil), dependent_required: T.unsafe(nil), additional_properties: T.unsafe(nil)); end
978
+
979
+ # Return hash for hash with properties for root Object
980
+ #
981
+ # @api private
982
+ # @return [Hash]
983
+ #
984
+ # source://shale//lib/shale/mapping/dict_base.rb#24
985
+ def root; end
986
+
987
+ private
988
+
989
+ # @api private
990
+ #
991
+ # source://shale//lib/shale/mapping/dict_base.rb#99
992
+ def initialize_dup(other); end
993
+ end
994
+
995
+ # Group for dictionary serialization formats (Hash/JSON/YAML/TOML/CSV)
996
+ #
997
+ # @api private
998
+ #
999
+ # source://shale//lib/shale/mapping/dict_group.rb#10
1000
+ class Shale::Mapping::DictGroup < ::Shale::Mapping::DictBase
1001
+ # Initialize instance
1002
+ #
1003
+ # @api private
1004
+ # @param from [Symbol]
1005
+ # @param to [Symbol]
1006
+ # @return [DictGroup] a new instance of DictGroup
1007
+ #
1008
+ # source://shale//lib/shale/mapping/dict_group.rb#24
1009
+ def initialize(from, to); end
1010
+
1011
+ # Map key to attribute
1012
+ #
1013
+ # @api private
1014
+ # @param key [String]
1015
+ #
1016
+ # source://shale//lib/shale/mapping/dict_group.rb#36
1017
+ def map(key); end
1018
+
1019
+ # Return name of the group
1020
+ #
1021
+ # @api private
1022
+ # @return [String]
1023
+ #
1024
+ # source://shale//lib/shale/mapping/dict_group.rb#16
1025
+ def name; end
1026
+ end
1027
+
1028
+ # source://shale//lib/shale/mapping/group/dict.rb#5
1029
+ module Shale::Mapping::Group; end
1030
+
1031
+ # Dict group descriptor
1032
+ #
1033
+ # @api private
1034
+ #
1035
+ # source://shale//lib/shale/mapping/group/dict.rb#9
1036
+ class Shale::Mapping::Group::Dict
1037
+ # Initialize instance
1038
+ #
1039
+ # @api private
1040
+ # @param method_from [Symbol]
1041
+ # @param method_to [Symbol]
1042
+ # @return [Dict] a new instance of Dict
1043
+ #
1044
+ # source://shale//lib/shale/mapping/group/dict.rb#37
1045
+ def initialize(method_from, method_to); end
1046
+
1047
+ # Add key-value pair to a group
1048
+ #
1049
+ # @api private
1050
+ # @param key [String]
1051
+ # @param value [any]
1052
+ #
1053
+ # source://shale//lib/shale/mapping/group/dict.rb#49
1054
+ def add(key, value); end
1055
+
1056
+ # Return dict hash
1057
+ #
1058
+ # @api private
1059
+ # @return [Hash]
1060
+ #
1061
+ # source://shale//lib/shale/mapping/group/dict.rb#29
1062
+ def dict; end
1063
+
1064
+ # Return method_from
1065
+ #
1066
+ # @api private
1067
+ # @return [Symbol]
1068
+ #
1069
+ # source://shale//lib/shale/mapping/group/dict.rb#15
1070
+ def method_from; end
1071
+
1072
+ # Return method_to
1073
+ #
1074
+ # @api private
1075
+ # @return [Symbol]
1076
+ #
1077
+ # source://shale//lib/shale/mapping/group/dict.rb#22
1078
+ def method_to; end
1079
+ end
1080
+
1081
+ # Class representing mapping group for JSON/YAML/TOML
1082
+ #
1083
+ # @api private
1084
+ #
1085
+ # source://shale//lib/shale/mapping/group/dict_grouping.rb#11
1086
+ class Shale::Mapping::Group::DictGrouping
1087
+ # Initialize instance
1088
+ #
1089
+ # @api private
1090
+ # @return [DictGrouping] a new instance of DictGrouping
1091
+ #
1092
+ # source://shale//lib/shale/mapping/group/dict_grouping.rb#15
1093
+ def initialize; end
1094
+
1095
+ # Add a value to a group
1096
+ #
1097
+ # @api private
1098
+ # @param mapping [Shale::Mapping::Descriptor::Dict]
1099
+ # @param value [any]
1100
+ #
1101
+ # source://shale//lib/shale/mapping/group/dict_grouping.rb#25
1102
+ def add(mapping, value); end
1103
+
1104
+ # Iterate over groups
1105
+ #
1106
+ # @api private
1107
+ # @param block [Proc]
1108
+ #
1109
+ # source://shale//lib/shale/mapping/group/dict_grouping.rb#35
1110
+ def each(&block); end
1111
+ end
1112
+
1113
+ # Xml group descriptor
1114
+ #
1115
+ # @api private
1116
+ #
1117
+ # source://shale//lib/shale/mapping/group/xml.rb#11
1118
+ class Shale::Mapping::Group::Xml < ::Shale::Mapping::Group::Dict
1119
+ # Initialize instance
1120
+ #
1121
+ # @api private
1122
+ # @param method_from [Symbol]
1123
+ # @param method_to [Symbol]
1124
+ # @return [Xml] a new instance of Xml
1125
+ #
1126
+ # source://shale//lib/shale/mapping/group/xml.rb#18
1127
+ def initialize(method_from, method_to); end
1128
+
1129
+ # Add key-value pair to a group
1130
+ #
1131
+ # @api private
1132
+ # @param kind [Symbol]
1133
+ # @param key [String]
1134
+ # @param value [any]
1135
+ #
1136
+ # source://shale//lib/shale/mapping/group/xml.rb#30
1137
+ def add(kind, key, value); end
1138
+ end
1139
+
1140
+ # Class representing mapping group for XML
1141
+ #
1142
+ # @api private
1143
+ #
1144
+ # source://shale//lib/shale/mapping/group/xml_grouping.rb#12
1145
+ class Shale::Mapping::Group::XmlGrouping < ::Shale::Mapping::Group::DictGrouping
1146
+ # Add a value to a group
1147
+ #
1148
+ # @api private
1149
+ # @param mapping [Shale::Mapping::Descriptor::Dict]
1150
+ # @param kind [Symbol]
1151
+ # @param value [any]
1152
+ #
1153
+ # source://shale//lib/shale/mapping/group/xml_grouping.rb#20
1154
+ def add(mapping, kind, value); end
1155
+ end
1156
+
1157
+ # source://shale//lib/shale/mapping/validator.rb#7
1158
+ module Shale::Mapping::Validator
1159
+ class << self
1160
+ # Validate correctness of argument passed to map functions
1161
+ #
1162
+ # @api private
1163
+ # @param key [String]
1164
+ # @param to [Symbol, nil]
1165
+ # @param receiver [Symbol, nil]
1166
+ # @param using [Hash, nil]
1167
+ # @raise [IncorrectMappingArgumentsError] when arguments are incorrect
1168
+ #
1169
+ # source://shale//lib/shale/mapping/validator.rb#18
1170
+ def validate_arguments(key, to, receiver, using); end
1171
+
1172
+ # Validate correctness of namespace arguments
1173
+ #
1174
+ # @api private
1175
+ # @param key [String]
1176
+ # @param namespace [String, Symbol, nil]
1177
+ # @param prefix [String, Symbol, nil]
1178
+ # @raise [IncorrectMappingArgumentsError] when arguments are incorrect
1179
+ #
1180
+ # source://shale//lib/shale/mapping/validator.rb#45
1181
+ def validate_namespace(key, namespace, prefix); end
1182
+ end
1183
+ end
1184
+
1185
+ # Mapping for XML serialization format
1186
+ #
1187
+ # @api private
1188
+ #
1189
+ # source://shale//lib/shale/mapping/xml.rb#11
1190
+ class Shale::Mapping::Xml < ::Shale::Mapping::XmlBase
1191
+ # Map group of nodes to mapping methods
1192
+ #
1193
+ # @api private
1194
+ # @param from [Symbol]
1195
+ # @param to [Symbol]
1196
+ # @param block [Proc]
1197
+ #
1198
+ # source://shale//lib/shale/mapping/xml.rb#105
1199
+ def group(from:, to:, &block); end
1200
+
1201
+ # Map document's attribute to object's attribute
1202
+ #
1203
+ # @api private
1204
+ # @param attribute [String]
1205
+ # @param to [Symbol, nil]
1206
+ # @param receiver [Symbol, nil]
1207
+ # @param using [Hash, nil]
1208
+ # @param namespace [String, nil]
1209
+ # @param prefix [String, nil]
1210
+ # @param render_nil [true, false, nil]
1211
+ #
1212
+ # source://shale//lib/shale/mapping/xml.rb#57
1213
+ def map_attribute(attribute, to: T.unsafe(nil), receiver: T.unsafe(nil), using: T.unsafe(nil), namespace: T.unsafe(nil), prefix: T.unsafe(nil), render_nil: T.unsafe(nil)); end
1214
+
1215
+ # Map document's content to object's attribute
1216
+ #
1217
+ # @api private
1218
+ # @param to [Symbol]
1219
+ # @param receiver [Symbol, nil]
1220
+ # @param using [Hash, nil]
1221
+ # @param cdata [true, false]
1222
+ #
1223
+ # source://shale//lib/shale/mapping/xml.rb#85
1224
+ def map_content(to: T.unsafe(nil), receiver: T.unsafe(nil), using: T.unsafe(nil), cdata: T.unsafe(nil)); end
1225
+
1226
+ # Map element to attribute
1227
+ #
1228
+ # @api private
1229
+ # @param element [String]
1230
+ # @param to [Symbol, nil]
1231
+ # @param receiver [Symbol, nil]
1232
+ # @param using [Hash, nil]
1233
+ # @param namespace [String, nil]
1234
+ # @param prefix [String, nil]
1235
+ # @param cdata [true, false]
1236
+ # @param render_nil [true, false, nil]
1237
+ #
1238
+ # source://shale//lib/shale/mapping/xml.rb#24
1239
+ def map_element(element, to: T.unsafe(nil), receiver: T.unsafe(nil), using: T.unsafe(nil), namespace: T.unsafe(nil), prefix: T.unsafe(nil), cdata: T.unsafe(nil), render_nil: T.unsafe(nil)); end
1240
+
1241
+ # Set render_nil default
1242
+ #
1243
+ # @api private
1244
+ # @param val [true, false]
1245
+ #
1246
+ # source://shale//lib/shale/mapping/xml.rb#94
1247
+ def render_nil(val); end
1248
+ end
1249
+
1250
+ # Base class for Mapping XML serialization format
1251
+ #
1252
+ # @api private
1253
+ #
1254
+ # source://shale//lib/shale/mapping/xml_base.rb#12
1255
+ class Shale::Mapping::XmlBase
1256
+ # Initialize instance
1257
+ #
1258
+ # @api private
1259
+ # @return [XmlBase] a new instance of XmlBase
1260
+ #
1261
+ # source://shale//lib/shale/mapping/xml_base.rb#62
1262
+ def initialize; end
1263
+
1264
+ # Return attributes mapping hash
1265
+ #
1266
+ # @api private
1267
+ # @return [Hash]
1268
+ #
1269
+ # source://shale//lib/shale/mapping/xml_base.rb#25
1270
+ def attributes; end
1271
+
1272
+ # Return content mapping
1273
+ #
1274
+ # @api private
1275
+ # @return [Symbol]
1276
+ #
1277
+ # source://shale//lib/shale/mapping/xml_base.rb#32
1278
+ def content; end
1279
+
1280
+ # Return default namespace
1281
+ #
1282
+ # @api private
1283
+ # @return [Shale::Mapping::Descriptor::XmlNamespace]
1284
+ #
1285
+ # source://shale//lib/shale/mapping/xml_base.rb#39
1286
+ def default_namespace; end
1287
+
1288
+ # Return elements mapping hash
1289
+ #
1290
+ # @api private
1291
+ # @return [Hash]
1292
+ #
1293
+ # source://shale//lib/shale/mapping/xml_base.rb#18
1294
+ def elements; end
1295
+
1296
+ # Set the "finalized" instance variable to true
1297
+ #
1298
+ # @api private
1299
+ #
1300
+ # source://shale//lib/shale/mapping/xml_base.rb#212
1301
+ def finalize!; end
1302
+
1303
+ # Query the "finalized" instance variable
1304
+ #
1305
+ # @api private
1306
+ # @return [truem false]
1307
+ #
1308
+ # source://shale//lib/shale/mapping/xml_base.rb#221
1309
+ def finalized?; end
1310
+
1311
+ # Map document's attribute to object's attribute
1312
+ #
1313
+ # @api private
1314
+ # @param attribute [String]
1315
+ # @param to [Symbol, nil]
1316
+ # @param receiver [Symbol, nil]
1317
+ # @param using [Hash, nil]
1318
+ # @param namespace [String, nil]
1319
+ # @param prefix [String, nil]
1320
+ # @param render_nil [true, false, nil]
1321
+ # @param group [String, nil]
1322
+ # @raise [IncorrectMappingArgumentsError] when arguments are incorrect
1323
+ #
1324
+ # source://shale//lib/shale/mapping/xml_base.rb#138
1325
+ def map_attribute(attribute, to: T.unsafe(nil), receiver: T.unsafe(nil), using: T.unsafe(nil), group: T.unsafe(nil), namespace: T.unsafe(nil), prefix: T.unsafe(nil), render_nil: T.unsafe(nil)); end
1326
+
1327
+ # Map document's content to object's attribute
1328
+ #
1329
+ # @api private
1330
+ # @param to [Symbol]
1331
+ # @param receiver [Symbol, nil]
1332
+ # @param using [Hash, nil]
1333
+ # @param group [String, nil]
1334
+ # @param cdata [true, false]
1335
+ #
1336
+ # source://shale//lib/shale/mapping/xml_base.rb#174
1337
+ def map_content(to: T.unsafe(nil), receiver: T.unsafe(nil), using: T.unsafe(nil), group: T.unsafe(nil), cdata: T.unsafe(nil)); end
1338
+
1339
+ # Map element to attribute
1340
+ #
1341
+ # @api private
1342
+ # @param element [String]
1343
+ # @param to [Symbol, nil]
1344
+ # @param receiver [Symbol, nil]
1345
+ # @param using [Hash, nil]
1346
+ # @param namespace [String, nil]
1347
+ # @param prefix [String, nil]
1348
+ # @param cdata [true, false]
1349
+ # @param render_nil [true, false, nil]
1350
+ # @param group [String, nil]
1351
+ # @raise [IncorrectMappingArgumentsError] when arguments are incorrect
1352
+ #
1353
+ # source://shale//lib/shale/mapping/xml_base.rb#88
1354
+ def map_element(element, to: T.unsafe(nil), receiver: T.unsafe(nil), using: T.unsafe(nil), group: T.unsafe(nil), namespace: T.unsafe(nil), prefix: T.unsafe(nil), cdata: T.unsafe(nil), render_nil: T.unsafe(nil)); end
1355
+
1356
+ # Set default namespace for root element
1357
+ #
1358
+ # @api private
1359
+ # @param name [String]
1360
+ # @param prefix [String]
1361
+ #
1362
+ # source://shale//lib/shale/mapping/xml_base.rb#204
1363
+ def namespace(name, prefix); end
1364
+
1365
+ # Return prefixed root
1366
+ #
1367
+ # @api private
1368
+ # @return [String]
1369
+ #
1370
+ # source://shale//lib/shale/mapping/xml_base.rb#55
1371
+ def prefixed_root; end
1372
+
1373
+ # Set the name for root element
1374
+ #
1375
+ # @api private
1376
+ # @param value [String] root's name
1377
+ #
1378
+ # source://shale//lib/shale/mapping/xml_base.rb#194
1379
+ def root(value); end
1380
+
1381
+ # Return unprefixed root
1382
+ #
1383
+ # @api private
1384
+ # @return [String]
1385
+ #
1386
+ # source://shale//lib/shale/mapping/xml_base.rb#46
1387
+ def unprefixed_root; end
1388
+
1389
+ private
1390
+
1391
+ # @api private
1392
+ #
1393
+ # source://shale//lib/shale/mapping/xml_base.rb#226
1394
+ def initialize_dup(other); end
1395
+ end
1396
+
1397
+ # Group for XML serialization format
1398
+ #
1399
+ # @api private
1400
+ #
1401
+ # source://shale//lib/shale/mapping/xml_group.rb#10
1402
+ class Shale::Mapping::XmlGroup < ::Shale::Mapping::XmlBase
1403
+ # Initialize instance
1404
+ #
1405
+ # @api private
1406
+ # @return [XmlGroup] a new instance of XmlGroup
1407
+ #
1408
+ # source://shale//lib/shale/mapping/xml_group.rb#21
1409
+ def initialize(from, to); end
1410
+
1411
+ # Map document's attribute to object's attribute
1412
+ #
1413
+ # @api private
1414
+ # @param attribute [String]
1415
+ # @param namespace [String, nil]
1416
+ # @param prefix [String, nil]
1417
+ #
1418
+ # source://shale//lib/shale/mapping/xml_group.rb#52
1419
+ def map_attribute(attribute, namespace: T.unsafe(nil), prefix: T.unsafe(nil)); end
1420
+
1421
+ # Map document's content to object's attribute
1422
+ #
1423
+ # @api private
1424
+ #
1425
+ # source://shale//lib/shale/mapping/xml_group.rb#65
1426
+ def map_content; end
1427
+
1428
+ # Map element to attribute
1429
+ #
1430
+ # @api private
1431
+ # @param element [String]
1432
+ # @param namespace [String, nil]
1433
+ # @param prefix [String, nil]
1434
+ #
1435
+ # source://shale//lib/shale/mapping/xml_group.rb#35
1436
+ def map_element(element, namespace: T.unsafe(nil), prefix: T.unsafe(nil)); end
1437
+
1438
+ # Return name of the group
1439
+ #
1440
+ # @api private
1441
+ # @return [String]
1442
+ #
1443
+ # source://shale//lib/shale/mapping/xml_group.rb#16
1444
+ def name; end
1445
+ end
1446
+
1447
+ # Error for using incorrect type
1448
+ #
1449
+ # @api private
1450
+ #
1451
+ # source://shale//lib/shale/error.rb#105
1452
+ class Shale::NotAShaleMapperError < ::Shale::ShaleError; end
1453
+
1454
+ # Error for registering class that is not a valid Type::Value
1455
+ #
1456
+ # @api private
1457
+ #
1458
+ # source://shale//lib/shale/error.rb#111
1459
+ class Shale::NotATypeValueError < ::Shale::ShaleError; end
1460
+
1461
+ # Parsing error
1462
+ #
1463
+ # @api private
1464
+ #
1465
+ # source://shale//lib/shale/error.rb#135
1466
+ class Shale::ParseError < ::Shale::ShaleError; end
1467
+
1468
+ # Schema compilation error
1469
+ #
1470
+ # @api private
1471
+ #
1472
+ # source://shale//lib/shale/error.rb#129
1473
+ class Shale::SchemaError < ::Shale::ShaleError; end
1474
+
1475
+ # Shale base error class
1476
+ #
1477
+ # @api private
1478
+ #
1479
+ # source://shale//lib/shale/error.rb#72
1480
+ class Shale::ShaleError < ::StandardError; end
1481
+
1482
+ # Error message displayed when TOML adapter is not set
1483
+ #
1484
+ # @api private
1485
+ #
1486
+ # source://shale//lib/shale/error.rb#6
1487
+ Shale::TOML_ADAPTER_NOT_SET_MESSAGE = T.let(T.unsafe(nil), String)
1488
+
1489
+ # source://shale//lib/shale/type.rb#4
1490
+ module Shale::Type
1491
+ class << self
1492
+ # Lookup a Shale::Type::Value class by type alias
1493
+ #
1494
+ # @api public
1495
+ # @example
1496
+ #
1497
+ # Shale::Type.lookup(:unix_timestamp)
1498
+ # # => UnixTimestamp
1499
+ # @param type [Symbol] Type alias
1500
+ # @raise [UnknownTypeError] when type is not registered
1501
+ # @return [Shale::Type::Value] Class registered for type
1502
+ #
1503
+ # source://shale//lib/shale/type.rb#47
1504
+ def lookup(type); end
1505
+
1506
+ # Register a symbol alias for a Shale::Type::Value class
1507
+ #
1508
+ # @api public
1509
+ # @example
1510
+ # class UnixTimestamp < Shale::Type::Value
1511
+ # def self.cast(value)
1512
+ # Time.at(value.to_i)
1513
+ # end
1514
+ # end
1515
+ #
1516
+ # Shale::Type.register(:unix_timestamp, UnixTimestamp)
1517
+ # @param type [Symbol] Short type alias
1518
+ # @param klass [Shale::Type::Value] Class to register
1519
+ # @raise [NotATypeValueError] when klass is not a Shale::Type::Value
1520
+ #
1521
+ # source://shale//lib/shale/type.rb#23
1522
+ def register(type, klass); end
1523
+ end
1524
+ end
1525
+
1526
+ # Cast value to Boolean
1527
+ #
1528
+ # @api public
1529
+ #
1530
+ # source://shale//lib/shale/type/boolean.rb#10
1531
+ class Shale::Type::Boolean < ::Shale::Type::Value
1532
+ class << self
1533
+ # @api private
1534
+ # @param value [any] Value to cast
1535
+ # @return [Boolean, nil]
1536
+ #
1537
+ # source://shale//lib/shale/type/boolean.rb#28
1538
+ def cast(value); end
1539
+ end
1540
+ end
1541
+
1542
+ # @api public
1543
+ #
1544
+ # source://shale//lib/shale/type/boolean.rb#11
1545
+ Shale::Type::Boolean::FALSE_VALUES = T.let(T.unsafe(nil), Array)
1546
+
1547
+ # Build complex object. Don't use it directly.
1548
+ # It serves as a base type class for @see Shale::Mapper
1549
+ #
1550
+ # @api private
1551
+ #
1552
+ # source://shale//lib/shale/type/complex.rb#15
1553
+ class Shale::Type::Complex < ::Shale::Type::Value
1554
+ # Convert Object to CSV
1555
+ #
1556
+ # @api public
1557
+ # @param only [Array<Symbol>]
1558
+ # @param except [Array<Symbol>]
1559
+ # @param context [any]
1560
+ # @param headers [true, false]
1561
+ # @param csv_options [Hash]
1562
+ # @return [String]
1563
+ #
1564
+ # source://shale//lib/shale/type/complex.rb#1066
1565
+ def to_csv(only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), headers: T.unsafe(nil), **csv_options); end
1566
+
1567
+ # Convert Object to Hash
1568
+ #
1569
+ # @api public
1570
+ # @param only [Array<Symbol>]
1571
+ # @param except [Array<Symbol>]
1572
+ # @param context [any]
1573
+ # @return [Hash]
1574
+ #
1575
+ # source://shale//lib/shale/type/complex.rb#1001
1576
+ def to_hash(only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1577
+
1578
+ # Convert Object to JSON
1579
+ #
1580
+ # @api public
1581
+ # @param only [Array<Symbol>]
1582
+ # @param except [Array<Symbol>]
1583
+ # @param context [any]
1584
+ # @param pretty [true, false]
1585
+ # @param json_options [Hash]
1586
+ # @return [String]
1587
+ #
1588
+ # source://shale//lib/shale/type/complex.rb#1016
1589
+ def to_json(only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), pretty: T.unsafe(nil), **json_options); end
1590
+
1591
+ # Convert Object to TOML
1592
+ #
1593
+ # @api public
1594
+ # @param only [Array<Symbol>]
1595
+ # @param except [Array<Symbol>]
1596
+ # @param context [any]
1597
+ # @param toml_options [Hash]
1598
+ # @return [String]
1599
+ #
1600
+ # source://shale//lib/shale/type/complex.rb#1051
1601
+ def to_toml(only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), **toml_options); end
1602
+
1603
+ # Convert Object to XML
1604
+ #
1605
+ # @api public
1606
+ # @param only [Array<Symbol>]
1607
+ # @param except [Array<Symbol>]
1608
+ # @param context [any]
1609
+ # @param declaration [true, false]
1610
+ # @param encoding [true, false, String]
1611
+ # @param pretty [true, false]
1612
+ # @return [String]
1613
+ #
1614
+ # source://shale//lib/shale/type/complex.rb#1089
1615
+ def to_xml(only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), pretty: T.unsafe(nil), declaration: T.unsafe(nil), encoding: T.unsafe(nil)); end
1616
+
1617
+ # Convert Object to YAML
1618
+ #
1619
+ # @api public
1620
+ # @param only [Array<Symbol>]
1621
+ # @param except [Array<Symbol>]
1622
+ # @param context [any]
1623
+ # @param yaml_options [Hash]
1624
+ # @return [String]
1625
+ #
1626
+ # source://shale//lib/shale/type/complex.rb#1037
1627
+ def to_yaml(only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), **yaml_options); end
1628
+
1629
+ class << self
1630
+ # source://shale//lib/shale/type/complex.rb#146
1631
+ def as_csv(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1632
+
1633
+ # source://shale//lib/shale/type/complex.rb#146
1634
+ def as_hash(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1635
+
1636
+ # source://shale//lib/shale/type/complex.rb#146
1637
+ def as_json(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1638
+
1639
+ # source://shale//lib/shale/type/complex.rb#141
1640
+ def as_toml(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1641
+
1642
+ # Convert Object to XML document
1643
+ #
1644
+ # @api public
1645
+ # @param instance [any] Object to convert
1646
+ # @param node_name [String, nil] XML node name
1647
+ # @param doc [Shale::Adapter::<xml adapter>::Document, nil] Object to convert
1648
+ # @param except [Array<Symbol>]
1649
+ # @param context [any]
1650
+ # @param only [Array<Symbol>]
1651
+ # @raise [IncorrectModelError]
1652
+ # @return [::REXML::Document, ::Nokogiri::Document, ::Ox::Document]
1653
+ #
1654
+ # source://shale//lib/shale/type/complex.rb#646
1655
+ def as_xml(instance, node_name = T.unsafe(nil), doc = T.unsafe(nil), _cdata = T.unsafe(nil), only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), version: T.unsafe(nil)); end
1656
+
1657
+ # source://shale//lib/shale/type/complex.rb#146
1658
+ def as_yaml(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1659
+
1660
+ # Convert CSV to Object
1661
+ #
1662
+ # @api public
1663
+ # @param csv [String] CSV to convert
1664
+ # @param only [Array<Symbol>]
1665
+ # @param except [Array<Symbol>]
1666
+ # @param headers [true, false]
1667
+ # @param csv_options [Hash]
1668
+ # @param context [any]
1669
+ # @return [model instance]
1670
+ #
1671
+ # source://shale//lib/shale/type/complex.rb#383
1672
+ def from_csv(csv, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), headers: T.unsafe(nil), **csv_options); end
1673
+
1674
+ # @api private
1675
+ #
1676
+ # source://shale//lib/shale/type/complex.rb#29
1677
+ def from_hash(hash, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1678
+
1679
+ # Convert JSON to Object
1680
+ #
1681
+ # @api public
1682
+ # @param json [String] JSON to convert
1683
+ # @param only [Array<Symbol>]
1684
+ # @param except [Array<Symbol>]
1685
+ # @param context [any]
1686
+ # @param json_options [Hash]
1687
+ # @return [model instance]
1688
+ #
1689
+ # source://shale//lib/shale/type/complex.rb#265
1690
+ def from_json(json, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), **json_options); end
1691
+
1692
+ # Convert TOML to Object
1693
+ #
1694
+ # @api public
1695
+ # @param toml [String] TOML to convert
1696
+ # @param only [Array<Symbol>]
1697
+ # @param except [Array<Symbol>]
1698
+ # @param context [any]
1699
+ # @param toml_options [Hash]
1700
+ # @return [model instance]
1701
+ #
1702
+ # source://shale//lib/shale/type/complex.rb#342
1703
+ def from_toml(toml, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), **toml_options); end
1704
+
1705
+ # Convert XML to Object
1706
+ #
1707
+ # @api public
1708
+ # @param xml [String] XML to convert
1709
+ # @param only [Array<Symbol>]
1710
+ # @param except [Array<Symbol>]
1711
+ # @param context [any]
1712
+ # @raise [AdapterError]
1713
+ # @return [model instance]
1714
+ #
1715
+ # source://shale//lib/shale/type/complex.rb#622
1716
+ def from_xml(xml, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1717
+
1718
+ # Convert YAML to Object
1719
+ #
1720
+ # @api public
1721
+ # @param yaml [String] YAML to convert
1722
+ # @param only [Array<Symbol>]
1723
+ # @param except [Array<Symbol>]
1724
+ # @param context [any]
1725
+ # @param yaml_options [Hash]
1726
+ # @return [model instance]
1727
+ #
1728
+ # source://shale//lib/shale/type/complex.rb#304
1729
+ def from_yaml(yaml, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), **yaml_options); end
1730
+
1731
+ # source://shale//lib/shale/type/complex.rb#29
1732
+ def of_csv(hash, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1733
+
1734
+ # source://shale//lib/shale/type/complex.rb#29
1735
+ def of_hash(hash, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1736
+
1737
+ # source://shale//lib/shale/type/complex.rb#29
1738
+ def of_json(hash, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1739
+
1740
+ # source://shale//lib/shale/type/complex.rb#29
1741
+ def of_toml(hash, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1742
+
1743
+ # Convert XML document to Object
1744
+ #
1745
+ # @api public
1746
+ # @param element [Shale::Adapter::<XML adapter>::Node]
1747
+ # @param only [Array<Symbol>]
1748
+ # @param except [Array<Symbol>]
1749
+ # @param context [any]
1750
+ # @return [model instance]
1751
+ #
1752
+ # source://shale//lib/shale/type/complex.rb#442
1753
+ def of_xml(element, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1754
+
1755
+ # source://shale//lib/shale/type/complex.rb#29
1756
+ def of_yaml(hash, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1757
+
1758
+ # Convert Object to CSV
1759
+ #
1760
+ # @api public
1761
+ # @param instance [model instance] Object to convert
1762
+ # @param only [Array<Symbol>]
1763
+ # @param except [Array<Symbol>]
1764
+ # @param headers [true, false]
1765
+ # @param csv_options [Hash]
1766
+ # @param context [any]
1767
+ # @return [String]
1768
+ #
1769
+ # source://shale//lib/shale/type/complex.rb#409
1770
+ def to_csv(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), headers: T.unsafe(nil), **csv_options); end
1771
+
1772
+ # @api private
1773
+ #
1774
+ # source://shale//lib/shale/type/complex.rb#146
1775
+ def to_hash(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil)); end
1776
+
1777
+ # Convert Object to JSON
1778
+ #
1779
+ # @api public
1780
+ # @param instance [model instance] Object to convert
1781
+ # @param only [Array<Symbol>]
1782
+ # @param except [Array<Symbol>]
1783
+ # @param pretty [true, false]
1784
+ # @param json_options [Hash]
1785
+ # @param context [any]
1786
+ # @return [String]
1787
+ #
1788
+ # source://shale//lib/shale/type/complex.rb#286
1789
+ def to_json(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), pretty: T.unsafe(nil), **json_options); end
1790
+
1791
+ # Convert Object to TOML
1792
+ #
1793
+ # @api public
1794
+ # @param instance [model instance] Object to convert
1795
+ # @param only [Array<Symbol>]
1796
+ # @param except [Array<Symbol>]
1797
+ # @param context [any]
1798
+ # @param toml_options [Hash]
1799
+ # @return [String]
1800
+ #
1801
+ # source://shale//lib/shale/type/complex.rb#363
1802
+ def to_toml(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), **toml_options); end
1803
+
1804
+ # Convert Object to XML
1805
+ #
1806
+ # @api public
1807
+ # @param instance [model instance] Object to convert
1808
+ # @param only [Array<Symbol>]
1809
+ # @param except [Array<Symbol>]
1810
+ # @param context [any]
1811
+ # @param declaration [true, false]
1812
+ # @param encoding [true, false, String]
1813
+ # @param pretty [true, false]
1814
+ # @raise [AdapterError]
1815
+ # @return [String]
1816
+ #
1817
+ # source://shale//lib/shale/type/complex.rb#867
1818
+ def to_xml(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), pretty: T.unsafe(nil), declaration: T.unsafe(nil), encoding: T.unsafe(nil)); end
1819
+
1820
+ # Convert Object to YAML
1821
+ #
1822
+ # @api public
1823
+ # @param instance [model instance] Object to convert
1824
+ # @param only [Array<Symbol>]
1825
+ # @param except [Array<Symbol>]
1826
+ # @param context [any]
1827
+ # @param yaml_options [Hash]
1828
+ # @return [String]
1829
+ #
1830
+ # source://shale//lib/shale/type/complex.rb#324
1831
+ def to_yaml(instance, only: T.unsafe(nil), except: T.unsafe(nil), context: T.unsafe(nil), **yaml_options); end
1832
+
1833
+ private
1834
+
1835
+ # Get receiver for given mapping
1836
+ #
1837
+ # @api private
1838
+ # @param instance [any]
1839
+ # @param receiver_attribute [Shale::Attribute]
1840
+ # @return [Array]
1841
+ #
1842
+ # source://shale//lib/shale/type/complex.rb#974
1843
+ def get_receiver(instance, receiver_attribute); end
1844
+
1845
+ # Get receiver attributes for given mapping
1846
+ #
1847
+ # @api private
1848
+ # @param mapping [Shale::Mapping::Descriptor::Dict]
1849
+ # @raise [AttributeNotDefinedError]
1850
+ # @raise [NotAShaleMapperError]
1851
+ # @return [Hash<Symbol, Shale::Attribute>]
1852
+ #
1853
+ # source://shale//lib/shale/type/complex.rb#943
1854
+ def get_receiver_attributes(mapping); end
1855
+
1856
+ # Convert array with attributes to a hash
1857
+ #
1858
+ # @api private
1859
+ # @param ary [Array]
1860
+ # @return [Hash, nil]
1861
+ #
1862
+ # source://shale//lib/shale/type/complex.rb#921
1863
+ def to_partial_render_attributes(ary); end
1864
+
1865
+ # Validate CSV adapter
1866
+ #
1867
+ # @api private
1868
+ # @raise [AdapterError]
1869
+ #
1870
+ # source://shale//lib/shale/type/complex.rb#910
1871
+ def validate_csv_adapter; end
1872
+
1873
+ # Validate TOML adapter
1874
+ #
1875
+ # @api private
1876
+ # @raise [AdapterError]
1877
+ #
1878
+ # source://shale//lib/shale/type/complex.rb#892
1879
+ def validate_toml_adapter; end
1880
+
1881
+ # Validate XML adapter
1882
+ #
1883
+ # @api private
1884
+ # @raise [AdapterError]
1885
+ #
1886
+ # source://shale//lib/shale/type/complex.rb#901
1887
+ def validate_xml_adapter; end
1888
+ end
1889
+ end
1890
+
1891
+ # Cast value to Date
1892
+ #
1893
+ # @api public
1894
+ #
1895
+ # source://shale//lib/shale/type/date.rb#11
1896
+ class Shale::Type::Date < ::Shale::Type::Value
1897
+ class << self
1898
+ # Use ISO 8601 format in CSV document
1899
+ #
1900
+ # @api private
1901
+ # @param value [Date]
1902
+ # @return [String]
1903
+ #
1904
+ # source://shale//lib/shale/type/date.rb#57
1905
+ def as_csv(value, **_arg1); end
1906
+
1907
+ # Use ISO 8601 format in JSON document
1908
+ #
1909
+ # @api private
1910
+ # @param value [Date]
1911
+ # @return [String]
1912
+ #
1913
+ # source://shale//lib/shale/type/date.rb#35
1914
+ def as_json(value, **_arg1); end
1915
+
1916
+ # Use ISO 8601 format in XML document
1917
+ #
1918
+ # @api private
1919
+ # @param value [Date] Value to convert to XML
1920
+ # @return [String]
1921
+ #
1922
+ # source://shale//lib/shale/type/date.rb#68
1923
+ def as_xml_value(value); end
1924
+
1925
+ # Use ISO 8601 format in YAML document
1926
+ #
1927
+ # @api private
1928
+ # @param value [Date]
1929
+ # @return [String]
1930
+ #
1931
+ # source://shale//lib/shale/type/date.rb#46
1932
+ def as_yaml(value, **_arg1); end
1933
+
1934
+ # @api private
1935
+ # @param value [any] Value to cast
1936
+ # @return [Date, nil]
1937
+ #
1938
+ # source://shale//lib/shale/type/date.rb#17
1939
+ def cast(value); end
1940
+ end
1941
+ end
1942
+
1943
+ # Cast value to BigDecimal
1944
+ #
1945
+ # @api public
1946
+ #
1947
+ # source://shale//lib/shale/type/decimal.rb#10
1948
+ class Shale::Type::Decimal < ::Shale::Type::Value
1949
+ class << self
1950
+ # @api public
1951
+ #
1952
+ # source://shale//lib/shale/type/decimal.rb#35
1953
+ def as_csv(value, **_arg1); end
1954
+
1955
+ # @api public
1956
+ #
1957
+ # source://shale//lib/shale/type/decimal.rb#27
1958
+ def as_json(value, **_arg1); end
1959
+
1960
+ # @api public
1961
+ #
1962
+ # source://shale//lib/shale/type/decimal.rb#39
1963
+ def as_toml(value, **_arg1); end
1964
+
1965
+ # @api public
1966
+ #
1967
+ # source://shale//lib/shale/type/decimal.rb#43
1968
+ def as_xml_value(value, **_arg1); end
1969
+
1970
+ # @api public
1971
+ #
1972
+ # source://shale//lib/shale/type/decimal.rb#31
1973
+ def as_yaml(value, **_arg1); end
1974
+
1975
+ # @api private
1976
+ # @param value [String, Float, Integer, nil] Value to cast
1977
+ # @return [BigDecimal, nil]
1978
+ #
1979
+ # source://shale//lib/shale/type/decimal.rb#17
1980
+ def cast(value); end
1981
+ end
1982
+ end
1983
+
1984
+ # Cast value to Float
1985
+ #
1986
+ # @api public
1987
+ #
1988
+ # source://shale//lib/shale/type/float.rb#10
1989
+ class Shale::Type::Float < ::Shale::Type::Value
1990
+ class << self
1991
+ # @api private
1992
+ # @param value [#to_f, String, nil] Value to cast
1993
+ # @return [Float, nil]
1994
+ #
1995
+ # source://shale//lib/shale/type/float.rb#16
1996
+ def cast(value); end
1997
+ end
1998
+ end
1999
+
2000
+ # Cast value to Integer
2001
+ #
2002
+ # @api public
2003
+ #
2004
+ # source://shale//lib/shale/type/integer.rb#10
2005
+ class Shale::Type::Integer < ::Shale::Type::Value
2006
+ class << self
2007
+ # @api private
2008
+ # @param value [#to_i, nil] Value to cast
2009
+ # @return [Integer, nil]
2010
+ #
2011
+ # source://shale//lib/shale/type/integer.rb#16
2012
+ def cast(value); end
2013
+ end
2014
+ end
2015
+
2016
+ # Cast value to String
2017
+ #
2018
+ # @api public
2019
+ #
2020
+ # source://shale//lib/shale/type/string.rb#10
2021
+ class Shale::Type::String < ::Shale::Type::Value
2022
+ class << self
2023
+ # @api private
2024
+ # @param value [#to_s, nil] Value to cast
2025
+ # @return [String, nil]
2026
+ #
2027
+ # source://shale//lib/shale/type/string.rb#16
2028
+ def cast(value); end
2029
+ end
2030
+ end
2031
+
2032
+ # Cast value to Time
2033
+ #
2034
+ # @api public
2035
+ #
2036
+ # source://shale//lib/shale/type/time.rb#11
2037
+ class Shale::Type::Time < ::Shale::Type::Value
2038
+ class << self
2039
+ # Use ISO 8601 format in CSV document
2040
+ #
2041
+ # @api private
2042
+ # @param value [Time]
2043
+ # @return [String]
2044
+ #
2045
+ # source://shale//lib/shale/type/time.rb#57
2046
+ def as_csv(value, **_arg1); end
2047
+
2048
+ # Use ISO 8601 format in JSON document
2049
+ #
2050
+ # @api private
2051
+ # @param value [Time]
2052
+ # @return [String]
2053
+ #
2054
+ # source://shale//lib/shale/type/time.rb#35
2055
+ def as_json(value, **_arg1); end
2056
+
2057
+ # Use ISO 8601 format in XML document
2058
+ #
2059
+ # @api private
2060
+ # @param value [Time] Value to convert to XML
2061
+ # @return [String]
2062
+ #
2063
+ # source://shale//lib/shale/type/time.rb#68
2064
+ def as_xml_value(value); end
2065
+
2066
+ # Use ISO 8601 format in YAML document
2067
+ #
2068
+ # @api private
2069
+ # @param value [Time]
2070
+ # @return [String]
2071
+ #
2072
+ # source://shale//lib/shale/type/time.rb#46
2073
+ def as_yaml(value, **_arg1); end
2074
+
2075
+ # @api private
2076
+ # @param value [any] Value to cast
2077
+ # @return [Time, nil]
2078
+ #
2079
+ # source://shale//lib/shale/type/time.rb#17
2080
+ def cast(value); end
2081
+ end
2082
+ end
2083
+
2084
+ # Base class for all types
2085
+ #
2086
+ # @api public
2087
+ # @example
2088
+ # class MyType < Shale::Type::Value
2089
+ # ... overwrite methods as needed
2090
+ # end
2091
+ #
2092
+ # source://shale//lib/shale/type/value.rb#13
2093
+ class Shale::Type::Value
2094
+ class << self
2095
+ # Convert value to form accepted by CSV document
2096
+ #
2097
+ # @api private
2098
+ # @param value [any]
2099
+ # @return [any]
2100
+ #
2101
+ # source://shale//lib/shale/type/value.rb#132
2102
+ def as_csv(value, **_arg1); end
2103
+
2104
+ # Convert value to form accepted by Hash document
2105
+ #
2106
+ # @api private
2107
+ # @param value [any]
2108
+ # @return [any]
2109
+ #
2110
+ # source://shale//lib/shale/type/value.rb#44
2111
+ def as_hash(value, **_arg1); end
2112
+
2113
+ # Convert value to form accepted by JSON document
2114
+ #
2115
+ # @api private
2116
+ # @param value [any]
2117
+ # @return [any]
2118
+ #
2119
+ # source://shale//lib/shale/type/value.rb#66
2120
+ def as_json(value, **_arg1); end
2121
+
2122
+ # Convert value to form accepted by TOML document
2123
+ #
2124
+ # @api private
2125
+ # @param value [any]
2126
+ # @return [any]
2127
+ #
2128
+ # source://shale//lib/shale/type/value.rb#110
2129
+ def as_toml(value, **_arg1); end
2130
+
2131
+ # Convert value to XML element
2132
+ #
2133
+ # @api private
2134
+ # @param value [#to_s] Value to convert to XML
2135
+ # @param name [String] Name of the element
2136
+ # @param doc [Shale::Adapter::<XML adapter>::Document] Document
2137
+ # @param cdata [true, false]
2138
+ #
2139
+ # source://shale//lib/shale/type/value.rb#166
2140
+ def as_xml(value, name, doc, cdata = T.unsafe(nil), **_arg4); end
2141
+
2142
+ # Convert value to form accepted by XML document
2143
+ #
2144
+ # @api private
2145
+ # @param value [#to_s] Value to convert to XML
2146
+ # @return [String]
2147
+ #
2148
+ # source://shale//lib/shale/type/value.rb#154
2149
+ def as_xml_value(value); end
2150
+
2151
+ # Convert value to form accepted by YAML document
2152
+ #
2153
+ # @api private
2154
+ # @param value [any]
2155
+ # @return [any]
2156
+ #
2157
+ # source://shale//lib/shale/type/value.rb#88
2158
+ def as_yaml(value, **_arg1); end
2159
+
2160
+ # Cast raw value to a type. Base form just returns whatever it receives
2161
+ #
2162
+ # @api private
2163
+ # @param value [any] Value to cast
2164
+ # @return [any]
2165
+ #
2166
+ # source://shale//lib/shale/type/value.rb#22
2167
+ def cast(value); end
2168
+
2169
+ # Extract value from CSV document
2170
+ #
2171
+ # @api private
2172
+ # @param value [any]
2173
+ # @return [any]
2174
+ #
2175
+ # source://shale//lib/shale/type/value.rb#121
2176
+ def of_csv(value, **_arg1); end
2177
+
2178
+ # Extract value from Hash document
2179
+ #
2180
+ # @api private
2181
+ # @param value [any]
2182
+ # @return [any]
2183
+ #
2184
+ # source://shale//lib/shale/type/value.rb#33
2185
+ def of_hash(value, **_arg1); end
2186
+
2187
+ # Extract value from JSON document
2188
+ #
2189
+ # @api private
2190
+ # @param value [any]
2191
+ # @return [any]
2192
+ #
2193
+ # source://shale//lib/shale/type/value.rb#55
2194
+ def of_json(value, **_arg1); end
2195
+
2196
+ # Extract value from TOML document
2197
+ #
2198
+ # @api private
2199
+ # @param value [any]
2200
+ # @return [any]
2201
+ #
2202
+ # source://shale//lib/shale/type/value.rb#99
2203
+ def of_toml(value, **_arg1); end
2204
+
2205
+ # Extract value from XML document
2206
+ #
2207
+ # @api private
2208
+ # @param value [Shale::Adapter::<XML adapter>::Node]
2209
+ # @return [String]
2210
+ #
2211
+ # source://shale//lib/shale/type/value.rb#143
2212
+ def of_xml(node, **_arg1); end
2213
+
2214
+ # Extract value from YAML document
2215
+ #
2216
+ # @api private
2217
+ # @param value [any]
2218
+ # @return [any]
2219
+ #
2220
+ # source://shale//lib/shale/type/value.rb#77
2221
+ def of_yaml(value, **_arg1); end
2222
+ end
2223
+ end
2224
+
2225
+ # Error for assigning value to not existing attribute
2226
+ #
2227
+ # @api private
2228
+ #
2229
+ # source://shale//lib/shale/error.rb#57
2230
+ class Shale::UnknownAttributeError < ::NoMethodError
2231
+ # Initialize error object
2232
+ #
2233
+ # @api private
2234
+ # @param record [String]
2235
+ # @param attribute [String]
2236
+ # @return [UnknownAttributeError] a new instance of UnknownAttributeError
2237
+ #
2238
+ # source://shale//lib/shale/error.rb#64
2239
+ def initialize(record, attribute); end
2240
+ end
2241
+
2242
+ # Error for using unknown symbol type
2243
+ #
2244
+ # @api private
2245
+ #
2246
+ # source://shale//lib/shale/error.rb#117
2247
+ class Shale::UnknownTypeError < ::Shale::ShaleError; end
2248
+
2249
+ # Utitlity functions
2250
+ #
2251
+ # @api private
2252
+ #
2253
+ # source://shale//lib/shale/utils.rb#7
2254
+ module Shale::Utils
2255
+ class << self
2256
+ # Convert string to Ruby's class naming convention
2257
+ #
2258
+ # @api private
2259
+ # @example
2260
+ # Shale::Utils.classify('foobar')
2261
+ # # => 'Foobar'
2262
+ # @param val [String]
2263
+ #
2264
+ # source://shale//lib/shale/utils.rb#32
2265
+ def classify(str); end
2266
+
2267
+ # Return value or nil if value is empty
2268
+ #
2269
+ # @api private
2270
+ # @example
2271
+ # Shale::Utils.presence('FooBar') # => FooBar
2272
+ # Shale::Utils.presence('') # => nil
2273
+ # @param value [String]
2274
+ #
2275
+ # source://shale//lib/shale/utils.rb#88
2276
+ def presence(value); end
2277
+
2278
+ # Convert string to snake case
2279
+ #
2280
+ # @api private
2281
+ # @example
2282
+ # Shale::Utils.snake_case('FooBar')
2283
+ # # => 'foo_bar'
2284
+ # @param val [String]
2285
+ #
2286
+ # source://shale//lib/shale/utils.rb#54
2287
+ def snake_case(str); end
2288
+
2289
+ # Convert word to under score
2290
+ #
2291
+ # @api private
2292
+ # @example
2293
+ # Shale::Utils.underscore('FooBar') # => foo_bar
2294
+ # Shale::Utils.underscore('Namespace::FooBar') # => foo_bar
2295
+ # @param word [String]
2296
+ #
2297
+ # source://shale//lib/shale/utils.rb#75
2298
+ def underscore(str); end
2299
+
2300
+ # Upcase first letter of a string
2301
+ #
2302
+ # @api private
2303
+ # @example
2304
+ # Shale::Utils.upcase_first('fooBar')
2305
+ # # => 'FooBar'
2306
+ # @param val [String]
2307
+ #
2308
+ # source://shale//lib/shale/utils.rb#17
2309
+ def upcase_first(str); end
2310
+ end
2311
+ end
2312
+
2313
+ # @api private
2314
+ #
2315
+ # source://shale//lib/shale/version.rb#5
2316
+ Shale::VERSION = T.let(T.unsafe(nil), String)
2317
+
2318
+ # Error message displayed when XML adapter is not set
2319
+ #
2320
+ # @api private
2321
+ #
2322
+ # source://shale//lib/shale/error.rb#23
2323
+ Shale::XML_ADAPTER_NOT_SET_MESSAGE = T.let(T.unsafe(nil), String)