erupt-sdk 0.1.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.
@@ -0,0 +1,408 @@
1
+ # Generated by tools/gen_types.rb from erupt-annotations.schema.json; do not edit.
2
+ # Annotation attributes as RBS records: every key is optional, a declaration only overrides the
3
+ # defaults the Java proxies emit.
4
+ module Erupt
5
+ type attachment_type = {
6
+ ?fileSeparator: String, # default "|"
7
+ ?fileTypes: Array[String], # default []
8
+ ?imageType: attachment_type_image_type,
9
+ ?maxLimit: Integer, # default 1
10
+ ?path: String, # default ""
11
+ ?size: Integer, # default -1
12
+ ?type: attachment_type_type # default "BASE"
13
+ }
14
+ type attachment_type_image_type = {
15
+ ?maxHeight: Integer, # default 2147483647
16
+ ?maxWidth: Integer, # default 2147483647
17
+ ?minHeight: Integer, # default 0
18
+ ?minWidth: Integer # default 0
19
+ }
20
+ type attachment_type_type = "BASE" | "IMAGE"
21
+ type auto_complete_type = {
22
+ ?triggerLength: Integer # default 1
23
+ }
24
+ type board_view = {
25
+ ?groupField: String,
26
+ ?sumField: String, # default ""
27
+ ?swimlaneField: String, # default ""
28
+ ?wipLimit: Integer # default 0
29
+ }
30
+ type bool_type = {
31
+ ?falseText: String, # default "N"
32
+ ?trueText: String, # default "Y"
33
+ ?type: bool_type_type # default "AUTO"
34
+ }
35
+ type bool_type_type = "AUTO" | "RADIO" | "SWITCH"
36
+ type button_type = {
37
+ ?confirm: String, # default ""
38
+ ?danger: bool, # default false
39
+ ?fullSpan: bool, # default false
40
+ ?icon: String, # default ""
41
+ ?style: String # default "default"
42
+ }
43
+ type calendar_view = {
44
+ ?colorField: String, # default ""
45
+ ?dateField: String,
46
+ ?endDateField: String, # default ""
47
+ ?mode: calendar_view_mode # default "MONTH"
48
+ }
49
+ type calendar_view_mode = "MONTH" | "WEEK" | "YEAR"
50
+ type callout_type = {
51
+ ?style: callout_type_style, # default "CARD"
52
+ ?value: String # default ""
53
+ }
54
+ type callout_type_style = "CARD" | "INFO" | "SUCCESS" | "WARNING" | "ERROR"
55
+ type card_view = {
56
+ ?coverEffect: card_view_cover_effect, # default "CLIP"
57
+ ?coverField: String # default ""
58
+ }
59
+ type card_view_cover_effect = "FIT" | "CLIP"
60
+ type choice_type = {
61
+ ?dependField: String, # default ""
62
+ ?fetchHandler: Array[String], # default []
63
+ ?type: choice_type_type, # default "SELECT"
64
+ ?validate: bool # default true
65
+ }
66
+ type choice_type_type = "SELECT" | "RADIO"
67
+ type code_editor_type = {
68
+ ?height: Integer, # default 300
69
+ ?hintHandler: Array[String], # default []
70
+ ?hints: Array[String], # default []
71
+ ?language: String
72
+ }
73
+ type color_type = {
74
+ ?alpha: bool, # default false
75
+ ?presets: Array[String], # default []
76
+ ?showText: bool # default true
77
+ }
78
+ type cube_chart = {
79
+ ?series: String, # default ""
80
+ ?span: Integer, # default 1
81
+ ?title: String, # default ""
82
+ ?type: cube_chart_type,
83
+ ?ui: Hash[Symbol | String, kv], # keyed by key
84
+ ?x: Array[String], # default []
85
+ ?y: Array[String] # default []
86
+ }
87
+ type cube_chart_type = "LINE" | "AREA" | "BAR" | "COLUMN" | "PIE" | "SCATTER" | "RADAR" | "FUNNEL" | "DUAL_AXES" | "GAUGE" | "WATERFALL" | "WORD_CLOUD" | "ROSE" | "RADIAL_BAR" | "SANKEY" | "CHORD" | "MAP" | "BUBBLE" | "TREEMAP" | "HEATMAP" | "TINY_LINE" | "TINY_AREA" | "TINY_COLUMN" | "PROGRESS" | "RING_PROGRESS" | "TABLE" | "PIVOT_TABLE" | "KPI"
88
+ type cube_view = {
89
+ ?charts: Array[cube_chart],
90
+ ?columns: Integer, # default 2
91
+ ?cube: String, # default "Void"
92
+ ?explore: String, # default "overview"
93
+ ?height: Integer, # default 320
94
+ ?linkSearch: bool, # default true
95
+ ?searchMapping: Hash[Symbol | String, kv] # keyed by key
96
+ }
97
+ type date_type = {
98
+ ?max: String, # default ""
99
+ ?min: String, # default ""
100
+ ?pickerMode: date_type_picker_mode, # default "ALL"
101
+ ?type: date_type_type # default "AUTO"
102
+ }
103
+ type date_type_picker_mode = "ALL" | "FUTURE" | "HISTORY"
104
+ type date_type_type = "AUTO" | "DATE" | "TIME" | "DATE_TIME" | "MONTH" | "WEEK" | "QUARTER" | "YEAR"
105
+ type drag_sort = {
106
+ ?field: String
107
+ }
108
+ type drill = {
109
+ ?code: String, # default ""
110
+ ?fold: bool, # default false
111
+ ?icon: String, # default "fa fa-sitemap"
112
+ ?link: link,
113
+ ?title: String
114
+ }
115
+ type dynamic = {
116
+ ?condition: String,
117
+ ?dependField: String,
118
+ ?match: dynamic_ctrl, # default "SHOW"
119
+ ?noMatch: dynamic_ctrl # default "HIDE"
120
+ }
121
+ type dynamic_ctrl = "SHOW" | "HIDE" | "NOTNULL" | "READONLY"
122
+ type edit = {
123
+ ?ai: bool, # default true; only when #item.type().toString()=='AUTO' || #item.type().toString()=='INPUT' || #item.type().toString()=='TEXTAREA' || #item.type().toString()=='HTML_EDITOR' || #item.type().toString()=='CODE_EDITOR' || #item.type().toString()=='MARKDOWN'
124
+ ?attachmentType: attachment_type, # only when #item.type().toString()=='ATTACHMENT'
125
+ ?autoCompleteType: auto_complete_type, # only when #item.type().toString()=='AUTO_COMPLETE'
126
+ ?boolType: bool_type, # only when #item.type().toString()=='BOOLEAN'
127
+ ?buttonType: button_type, # only when #item.type().toString()=='BUTTON'
128
+ ?calloutType: callout_type, # only when #item.type().toString()=='CALLOUT'
129
+ ?cellEdit: bool, # default true
130
+ ?choiceType: choice_type, # only when #item.type().toString()=='CHOICE'
131
+ ?codeEditType: code_editor_type, # only when #item.type().toString()=='CODE_EDITOR'
132
+ ?colorType: color_type, # only when #item.type().toString()=='COLOR'
133
+ ?dateType: date_type, # only when #item.type().toString()=='DATE'
134
+ ?desc: String, # default ""
135
+ ?dynamic: dynamic, # only when #value.condition() != ''
136
+ ?groupType: group_type, # only when #item.type().toString()=='GROUP'
137
+ ?htmlEditorType: html_editor_type, # only when #item.type().toString()=='HTML_EDITOR'
138
+ ?inputType: input_type, # only when #item.type().toString()=='INPUT'
139
+ ?keyValueType: key_value_type, # only when #item.type().toString()=='KEY_VALUE'
140
+ ?multiChoiceType: multi_choice_type, # only when #item.type().toString()=='MULTI_CHOICE'
141
+ ?notNull: bool, # default false
142
+ ?numberType: number_type, # only when #item.type().toString()=='NUMBER'
143
+ ?onchange: String, # default "OnChange"
144
+ ?placeHolder: String, # default ""
145
+ ?rateType: rate_type, # only when #item.type().toString()=='RATE'
146
+ ?readOnly: readonly,
147
+ ?referenceTableType: reference_table_type, # only when #item.type().toString()=='REFERENCE_TABLE' || #item.type().toString()=='TAB_TABLE_REFER'
148
+ ?referenceTreeType: reference_tree_type, # only when #item.type().toString()=='REFERENCE_TREE'
149
+ ?search: search,
150
+ ?show: bool, # default true
151
+ ?sliderType: slider_type, # only when #item.type().toString()=='SLIDER'
152
+ ?tagsType: tags_type, # only when #item.type().toString()=='TAGS'
153
+ ?textareaType: textarea_type, # only when #item.type().toString()=='TEXTAREA'
154
+ ?title: String,
155
+ ?type: edit_type # default "AUTO"
156
+ }
157
+ type edit_type = "AUTO" | "INPUT" | "PASSWORD" | "NUMBER" | "SLIDER" | "COLOR" | "ICON" | "KEY_VALUE" | "RATE" | "DATE" | "BOOLEAN" | "CHOICE" | "MULTI_CHOICE" | "TAGS" | "AUTO_COMPLETE" | "TEXTAREA" | "HTML_EDITOR" | "CODE_EDITOR" | "MARKDOWN" | "ATTACHMENT" | "MAP" | "TPL" | "DIVIDE" | "GROUP" | "CALLOUT" | "BUTTON" | "HIDDEN" | "EMPTY" | "SIGNATURE" | "REFERENCE_TREE" | "REFERENCE_TABLE" | "CHECKBOX" | "TRANSFER" | "TAB_TREE" | "TAB_TABLE_REFER" | "TAB_TABLE_ADD" | "MULTI_FORM" | "COMBINE"
158
+ type erupt = {
159
+ ?dataProxyParams: Array[String], # default []
160
+ ?desc: String, # default ""
161
+ ?dragSort: drag_sort, # only when #value.field() != ''
162
+ ?drills: Array[drill], # default []
163
+ ?extra: Hash[Symbol | String, untyped],
164
+ ?layout: layout,
165
+ ?linkTree: link_tree, # only when #value.field() != ''
166
+ ?param: Hash[Symbol | String, kv], # keyed by key
167
+ ?primaryKeyCol: String, # default "id"
168
+ ?rowOperation: Array[row_operation], # default []
169
+ ?tree: tree,
170
+ ?vis: Array[vis], # default []
171
+ ?visRawTable: bool # default true
172
+ }
173
+ type erupt_field = {
174
+ ?edit: edit,
175
+ ?params: Hash[Symbol | String, kv], # keyed by key
176
+ ?views: Array[view] # default []
177
+ }
178
+ type expr = {
179
+ ?value: String # default ""
180
+ }
181
+ type gantt_view = {
182
+ ?colorField: String, # default ""
183
+ ?dependencyField: String, # default ""
184
+ ?endDateField: String,
185
+ ?groupField: String, # default ""
186
+ ?milestoneField: String, # default ""
187
+ ?pidField: String, # default ""
188
+ ?progressField: String, # default ""
189
+ ?startDateField: String
190
+ }
191
+ type group_type = {
192
+ ?collapsed: bool, # default false
193
+ ?fields: Array[String]
194
+ }
195
+ type html_editor_type = {
196
+ ?path: String, # default ""
197
+ ?value: html_editor_type_type
198
+ }
199
+ type html_editor_type_type = "CKEDITOR" | "UEDITOR"
200
+ type input_type = {
201
+ ?fullSpan: bool, # default false
202
+ ?length: Integer, # default 255
203
+ ?prefix: Array[vl], # default []
204
+ ?regex: String, # default ""
205
+ ?suffix: Array[vl], # default []
206
+ ?type: String # default "text"
207
+ }
208
+ type kv = {
209
+ ?desc: String, # default ""
210
+ ?key: String,
211
+ ?value: String
212
+ }
213
+ type key_value_type = {
214
+ ?keyPlaceholder: String, # default ""
215
+ ?keys: Array[String], # default []
216
+ ?max: Integer, # default 0
217
+ ?valuePlaceholder: String # default ""
218
+ }
219
+ type layout = {
220
+ ?collapseActionButton: bool, # default false
221
+ ?formSize: layout_form_size, # default "DEFAULT"
222
+ ?formSteps: bool, # default false
223
+ ?pageSize: Integer, # default 10
224
+ ?pageSizes: Array[Integer], # default [10,20,30,50,100,300,500]
225
+ ?pagingType: layout_paging_type, # default "BACKEND"
226
+ ?refreshTime: Integer, # default -1
227
+ ?tableLeftFixed: Integer, # default 0
228
+ ?tableOperatorWidth: String, # default ""
229
+ ?tableRightFixed: Integer, # default 0
230
+ ?tableTruncate: bool, # default true
231
+ ?tableWidth: String # default ""
232
+ }
233
+ type layout_form_size = "DEFAULT" | "FULL_LINE"
234
+ type layout_paging_type = "BACKEND" | "FRONT" | "NONE"
235
+ type link = {
236
+ ?linkCondition: String, # default ""
237
+ ?linkErupt: String
238
+ }
239
+ type link_tree = {
240
+ ?dependNode: bool, # default false
241
+ ?field: String
242
+ }
243
+ type map_view = {
244
+ ?cluster: bool, # default true
245
+ ?colorField: String, # default ""
246
+ ?latField: String, # default ""
247
+ ?lngField: String, # default ""
248
+ ?locationField: String # default ""
249
+ }
250
+ type multi_choice_type = {
251
+ ?dependField: String, # default ""
252
+ ?fetchHandler: Array[String], # default []
253
+ ?type: multi_choice_type_type, # default "CHECKBOX"
254
+ ?validate: bool # default true
255
+ }
256
+ type multi_choice_type_type = "SELECT" | "CHECKBOX" | "TRANSFER"
257
+ type number_type = {
258
+ ?max: Integer, # default 2147483647
259
+ ?min: Integer, # default -2147483647
260
+ ?precision: Integer, # default -1
261
+ ?prefix: String, # default ""
262
+ ?step: Numeric, # default 1.0
263
+ ?suffix: String, # default ""
264
+ ?thousandsSeparator: bool # default false
265
+ }
266
+ type open_way = "DRAWER" | "MODAL" | "ROUTER"
267
+ type page_embed_type = "IFRAME" | "MICRO_FRONTEND"
268
+ type placement = "TOP" | "BOTTOM" | "LEFT" | "RIGHT"
269
+ type query_expression = "AUTO" | "EQ" | "NEQ" | "GT" | "GTE" | "LT" | "LTE" | "LIKE" | "NOT_LIKE" | "RANGE" | "IN" | "NOT_IN" | "NULL" | "NOT_NULL"
270
+ type rate_type = {
271
+ ?allowHalf: bool, # default false
272
+ ?character: String, # default ""
273
+ ?count: Integer # default 5
274
+ }
275
+ type readonly = {
276
+ ?add: bool, # default true
277
+ ?allowChange: bool, # default true
278
+ ?edit: bool # default true
279
+ }
280
+ type reference_table_type = {
281
+ ?dependField: String, # default ""
282
+ ?id: String, # default "id"
283
+ ?label: String # default "name"
284
+ }
285
+ type reference_tree_type = {
286
+ ?dependField: String, # default ""
287
+ ?expandLevel: Integer, # default 999
288
+ ?id: String, # default "id"
289
+ ?label: String, # default "name"
290
+ ?pid: String, # default ""
291
+ ?rootPid: expr
292
+ }
293
+ type row_operation = {
294
+ ?callHint: String, # default "erupt.operation.call_hint"
295
+ ?code: String, # default ""
296
+ ?eruptClass: String, # default "void"
297
+ ?fold: bool, # default false
298
+ ?icon: String, # default "fa fa-dot-circle-o"
299
+ ?ifExpr: String, # default ""
300
+ ?ifExprBehavior: row_operation_if_expr_behavior, # default "DISABLE"
301
+ ?mode: row_operation_mode, # default "MULTI"
302
+ ?tip: String, # default ""
303
+ ?title: String,
304
+ ?tpl: tpl,
305
+ ?type: row_operation_type # default "ERUPT"
306
+ }
307
+ type row_operation_if_expr_behavior = "HIDE" | "DISABLE"
308
+ type row_operation_mode = "SINGLE" | "MULTI" | "MULTI_ONLY" | "BUTTON"
309
+ type row_operation_type = "ERUPT" | "TPL"
310
+ type search = {
311
+ ?lockOperator: bool, # default false
312
+ ?notNull: bool, # default false
313
+ ?operator: query_expression, # default "AUTO"
314
+ ?value: bool # default true
315
+ }
316
+ type slider_type = {
317
+ ?dots: bool, # default false
318
+ ?markPoints: Array[Numeric], # default []
319
+ ?max: Integer,
320
+ ?min: Integer, # default 0
321
+ ?step: Numeric # default 1.0
322
+ }
323
+ type table_view = {
324
+ ?collapsed: bool, # default false
325
+ ?groupField: String # default ""
326
+ }
327
+ type tags_type = {
328
+ ?allowExtension: bool, # default true
329
+ ?fetchHandler: Array[String], # default []
330
+ ?joinSeparator: String, # default "[]"
331
+ ?maxTagCount: Integer, # default 9999
332
+ ?tags: Array[String] # default []
333
+ }
334
+ type textarea_type = {
335
+ ?length: Integer, # default 2147483647
336
+ ?maxRows: Integer, # default 20
337
+ ?mentionFetchHandler: Array[String], # default []
338
+ ?mentionPrefix: Array[String], # default []
339
+ ?minRows: Integer # default 3
340
+ }
341
+ type timeline_view = {
342
+ ?colorField: String, # default ""
343
+ ?dateField: String,
344
+ ?descending: bool, # default true
345
+ ?mode: timeline_view_mode # default "LEFT"
346
+ }
347
+ type timeline_view_mode = "LEFT" | "ALTERNATE" | "RIGHT"
348
+ type tpl = {
349
+ ?drawerPlacement: placement, # default "RIGHT"
350
+ ?embedType: page_embed_type, # default "IFRAME"
351
+ ?enable: bool, # default true
352
+ ?height: String, # default ""
353
+ ?openWay: open_way, # default "MODAL"
354
+ ?path: String,
355
+ ?width: String # default ""
356
+ }
357
+ type tree = {
358
+ ?expandLevel: Integer, # default 999
359
+ ?id: String, # default "id"
360
+ ?label: String, # default "name"
361
+ ?maxLevel: Integer, # default 0
362
+ ?pid: String # default ""
363
+ }
364
+ type vl = {
365
+ ?color: String, # default ""
366
+ ?desc: String, # default ""
367
+ ?disable: bool, # default false
368
+ ?extra: String, # default ""
369
+ ?label: String,
370
+ ?value: String
371
+ }
372
+ type view = {
373
+ ?className: String, # default ""
374
+ ?column: String, # default ""
375
+ ?desc: String, # default ""
376
+ ?export: bool, # default true
377
+ ?group: String, # default ""
378
+ ?show: bool, # default true
379
+ ?sortable: bool, # default false
380
+ ?statistic: view_statistic, # default "NONE"
381
+ ?template: String, # default ""
382
+ ?title: String,
383
+ ?tpl: tpl,
384
+ ?type: view_type, # default "AUTO"
385
+ ?width: String # default ""
386
+ }
387
+ type view_statistic = "NONE" | "COUNT" | "DISTINCT_COUNT" | "SUM" | "AVG" | "MAX" | "MIN"
388
+ type view_type = "AUTO" | "TEXT" | "COLOR" | "ICON" | "KEY_VALUE" | "SAFE_TEXT" | "IMAGE" | "AVATAR" | "IMAGE_BASE64" | "SWF" | "HTML" | "MOBILE_HTML" | "QR_CODE" | "LINK" | "LINK_DIALOG" | "DOWNLOAD" | "ATTACHMENT" | "ATTACHMENT_DIALOG" | "DATE" | "DATE_TIME" | "BOOLEAN" | "NUMBER" | "PROGRESS" | "MAP" | "CODE" | "TAB_VIEW" | "MARKDOWN" | "PASSWORD"
389
+ type vis = {
390
+ ?boardView: board_view, # only when #item.type().toString() == 'BOARD'
391
+ ?calendarView: calendar_view, # only when #item.type().toString() == 'CALENDAR'
392
+ ?cardView: card_view, # only when #item.type().toString() == 'CARD'
393
+ ?code: String, # default ""
394
+ ?cubeView: cube_view, # only when #item.type().toString() == 'CUBE'
395
+ ?desc: String, # default ""
396
+ ?fieldVisibility: vis_field_visibility, # default "EXCLUDE"
397
+ ?fields: Array[String], # default []
398
+ ?ganttView: gantt_view, # only when #item.type().toString() == 'GANTT'
399
+ ?mapView: map_view, # only when #item.type().toString() == 'MAP'
400
+ ?tableView: table_view, # only when #item.type().toString() == 'TABLE'
401
+ ?timelineView: timeline_view, # only when #item.type().toString() == 'TIMELINE'
402
+ ?title: String,
403
+ ?tplView: tpl, # only when #item.type().toString() == 'TPL'
404
+ ?type: vis_type # default "TABLE"
405
+ }
406
+ type vis_field_visibility = "INCLUDE" | "EXCLUDE"
407
+ type vis_type = "TABLE" | "GANTT" | "CARD" | "BOARD" | "CALENDAR" | "TIMELINE" | "MAP" | "CUBE" | "TPL"
408
+ end
metadata ADDED
@@ -0,0 +1,56 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: erupt-sdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - YuePeng
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies: []
12
+ description: 'An erupt cloud node: declare models in Ruby, the erupt server renders
13
+ the admin UI. Rack compatible, with a built-in HTTP server; no runtime dependencies.'
14
+ executables: []
15
+ extensions: []
16
+ extra_rdoc_files: []
17
+ files:
18
+ - README.md
19
+ - lib/erupt-sdk.rb
20
+ - lib/erupt.rb
21
+ - lib/erupt/defaults.json
22
+ - lib/erupt/http_server.rb
23
+ - lib/erupt/model.rb
24
+ - lib/erupt/node.rb
25
+ - lib/erupt/repository.rb
26
+ - lib/erupt/schema.json
27
+ - lib/erupt/schema.rb
28
+ - lib/erupt/signature.rb
29
+ - lib/erupt/sql.rb
30
+ - lib/erupt/types.rb
31
+ - lib/erupt/version.rb
32
+ - sig/erupt/types.rbs
33
+ homepage: https://github.com/erupt-io/erupt-sdk/tree/main/ruby
34
+ licenses:
35
+ - Apache-2.0
36
+ metadata:
37
+ source_code_uri: https://github.com/erupt-io/erupt-sdk
38
+ rubygems_mfa_required: 'true'
39
+ rdoc_options: []
40
+ require_paths:
41
+ - lib
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '3.1'
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ requirements: []
53
+ rubygems_version: 3.6.9
54
+ specification_version: 4
55
+ summary: Serve Ruby models as an erupt admin UI through an erupt cloud server
56
+ test_files: []