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.
- checksums.yaml +4 -4
- data/.rubocop.yml +5 -2
- data/.ruby-version +1 -1
- data/CHANGELOG.md +6 -0
- data/Gemfile +7 -4
- data/Gemfile.lock +108 -69
- data/README.md +5 -0
- data/capistrano-data_plane_api.gemspec +5 -2
- data/exe/cap_data_plane_api +3 -2
- data/lib/capistrano/data_plane_api/configuration/backend.rb +2 -0
- data/lib/capistrano/data_plane_api/configuration/server.rb +4 -2
- data/lib/capistrano/data_plane_api/configuration/symbol.rb +2 -0
- data/lib/capistrano/data_plane_api/configuration.rb +3 -3
- data/lib/capistrano/data_plane_api/deploy/args.rb +71 -40
- data/lib/capistrano/data_plane_api/deploy/deployment_stats.rb +29 -25
- data/lib/capistrano/data_plane_api/deploy/group.rb +33 -24
- data/lib/capistrano/data_plane_api/deploy/helper.rb +3 -5
- data/lib/capistrano/data_plane_api/deploy/server_stats.rb +60 -43
- data/lib/capistrano/data_plane_api/deploy.rb +3 -2
- data/lib/capistrano/data_plane_api/diggable.rb +5 -2
- data/lib/capistrano/data_plane_api/equatable.rb +4 -2
- data/lib/capistrano/data_plane_api/helper.rb +31 -27
- data/lib/capistrano/data_plane_api/hooks.rb +1 -0
- data/lib/capistrano/data_plane_api/show_state.rb +15 -12
- data/lib/capistrano/data_plane_api/tasks.rb +26 -2
- data/lib/capistrano/data_plane_api/terminal_print_loop.rb +7 -4
- data/lib/capistrano/data_plane_api/type.rb +9 -5
- data/lib/capistrano/data_plane_api/version.rb +2 -2
- data/lib/capistrano/data_plane_api.rb +96 -74
- data/lib/capistrano-data_plane_api.rb +4 -0
- data/rbi/capistrano-data_plane_api.rbi +283 -0
- data/sorbet/config +6 -0
- data/sorbet/rbi/annotations/.gitattributes +1 -0
- data/sorbet/rbi/annotations/faraday.rbi +17 -0
- data/sorbet/rbi/annotations/minitest.rbi +119 -0
- data/sorbet/rbi/annotations/rainbow.rbi +269 -0
- data/sorbet/rbi/annotations/webmock.rbi +9 -0
- data/sorbet/rbi/dsl/.gitattributes +1 -0
- data/sorbet/rbi/dsl/capistrano/data_plane_api/configuration/backend.rbi +50 -0
- data/sorbet/rbi/dsl/capistrano/data_plane_api/configuration/server.rbi +24 -0
- data/sorbet/rbi/dsl/capistrano/data_plane_api/configuration.rbi +52 -0
- data/sorbet/rbi/dsl/capistrano/data_plane_api/type.rbi +12 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
- data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
- data/sorbet/rbi/gems/base64@0.2.0.rbi +509 -0
- data/sorbet/rbi/gems/bigdecimal@3.1.9.rbi +8 -0
- data/sorbet/rbi/gems/booleans@0.1.3.rbi +28 -0
- data/sorbet/rbi/gems/byebug@12.0.0.rbi +37 -0
- data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
- data/sorbet/rbi/gems/data_plane_api@0.2.0.rbi +238 -0
- data/sorbet/rbi/gems/faraday-net_http@3.4.0.rbi +147 -0
- data/sorbet/rbi/gems/faraday@2.13.0.rbi +2974 -0
- data/sorbet/rbi/gems/hashdiff@1.1.2.rbi +353 -0
- data/sorbet/rbi/gems/json@2.10.2.rbi +2113 -0
- data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
- data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
- data/sorbet/rbi/gems/minitest@5.25.5.rbi +1547 -0
- data/sorbet/rbi/gems/net-http@0.6.0.rbi +4247 -0
- data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
- data/sorbet/rbi/gems/pastel@0.8.0.rbi +733 -0
- data/sorbet/rbi/gems/public_suffix@6.0.1.rbi +936 -0
- data/sorbet/rbi/gems/racc@1.8.1.rbi +160 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +404 -0
- data/sorbet/rbi/gems/rake@13.0.6.rbi +3030 -0
- data/sorbet/rbi/gems/rexml@3.4.1.rbi +5346 -0
- data/sorbet/rbi/gems/rubocop-espago@1.1.8.rbi +9 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1318 -0
- data/sorbet/rbi/gems/shale-builder@0.2.4.rbi +9 -0
- data/sorbet/rbi/gems/shale@1.2.2.rbi +2323 -0
- data/sorbet/rbi/gems/shoulda-context@2.0.0.rbi +563 -0
- data/sorbet/rbi/gems/strings-ansi@0.2.0.rbi +178 -0
- data/sorbet/rbi/gems/strings@0.2.1.rbi +830 -0
- data/sorbet/rbi/gems/thor@1.2.1.rbi +3957 -0
- data/sorbet/rbi/gems/tty-box@0.7.0.rbi +593 -0
- data/sorbet/rbi/gems/tty-color@0.6.0.rbi +241 -0
- data/sorbet/rbi/gems/tty-cursor@0.7.1.rbi +443 -0
- data/sorbet/rbi/gems/unicode-display_width@2.6.0.rbi +66 -0
- data/sorbet/rbi/gems/unicode_utils@1.4.0.rbi +184 -0
- data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
- data/sorbet/rbi/gems/vcr@6.3.1.rbi +3040 -0
- data/sorbet/rbi/gems/webmock@3.25.1.rbi +1792 -0
- data/sorbet/rbi/shims/gems/faraday.rbi +21 -0
- data/sorbet/rbi/shims/gems/shoulda-context@2.0.0.rbi +15 -0
- data/sorbet/rbi/todo.rbi +7 -0
- data/sorbet/tapioca/config.yml +28 -0
- data/sorbet/tapioca/extensions/load_gem.rb +1 -0
- data/sorbet/tapioca/require.rb +4 -0
- data/templates/bin/deploy.rb +1 -0
- 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)
|