aro 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +1 -1
  5. data/aro.gemspec +3 -3
  6. data/bin/aos +10 -3
  7. data/bin/aro +18 -11
  8. data/checksums/aro-0.2.1.gem.sha512 +1 -0
  9. data/checksums/aro-0.2.2.gem.sha512 +1 -0
  10. data/checksums/aro-0.2.3.gem.sha512 +1 -0
  11. data/locale/en.abot.yml +81 -0
  12. data/locale/en.amg.yml +44 -0
  13. data/locale/en.aos.yml +8 -38
  14. data/locale/en.cor.yml +47 -0
  15. data/locale/en.data.yml +30 -0
  16. data/locale/en.dom.yml +22 -18
  17. data/locale/en.flie.yml +29 -0
  18. data/locale/en.usage.yml +39 -26
  19. data/locale/en.yml +10 -51
  20. data/sys/aos/abot.rb +256 -0
  21. data/sys/aos/amg.rb +58 -56
  22. data/sys/aos/aos.rb +425 -180
  23. data/sys/aos/cor.rb +773 -0
  24. data/sys/aos/data.rb +117 -0
  25. data/sys/aos/db/migrate/1765148774_create_yous.rb +1 -0
  26. data/sys/aos/db/migrate/{1765762724_create_libs.rb → 1765762724_create_ilibs.rb} +5 -5
  27. data/sys/aos/db/migrate/1765907766_create_ilogs.rb +18 -0
  28. data/sys/aos/db/migrate/1765933985_create_agodos.rb +22 -0
  29. data/sys/aos/db/migrate/1766203888_create_fpxies.rb +18 -0
  30. data/sys/aos/db.rb +47 -27
  31. data/sys/aos/flie.rb +144 -0
  32. data/sys/aos/models/agodo.rb +96 -0
  33. data/sys/aos/models/base_model.rb +13 -0
  34. data/sys/aos/models/fpxy.rb +28 -0
  35. data/sys/{shr/lib/lib.rb → aos/models/ilib.rb} +11 -6
  36. data/sys/aos/models/ilog.rb +29 -0
  37. data/sys/aos/models/you.rb +98 -0
  38. data/sys/aos/s.rb +2 -1
  39. data/sys/aos/vws/base.rb +69 -78
  40. data/sys/aos/vws/dom.rb +1 -2
  41. data/sys/aos/vws/games/abot.rb +21 -0
  42. data/sys/aos/vws/games/{game.rb → teck.rb} +27 -24
  43. data/sys/aos/vws/home.rb +23 -0
  44. data/sys/aos/vws/know/{temple.rb → body.rb} +3 -3
  45. data/sys/aos/vws/know/{library.rb → mind.rb} +3 -3
  46. data/sys/aos/vws/know/spirit.rb +19 -0
  47. data/sys/aos/vws/{setup → root}/amg.rb +1 -2
  48. data/sys/aos/vws/{setup → root}/config.rb +4 -4
  49. data/sys/aos/vws/root/data.rb +21 -0
  50. data/sys/aos/vws/root/flie.rb +21 -0
  51. data/sys/aos/vws/{setup.rb → root.rb} +3 -3
  52. data/sys/aos/vws/welcome/waite.rb +1 -0
  53. data/sys/aos/vws/welcome.rb +47 -0
  54. data/sys/aro/d.rb +4 -2
  55. data/sys/aro/db/migrate/{1763374647_create_decks.rb → 1763374647_create_tecks.rb} +5 -5
  56. data/sys/aro/db/migrate/1763432541_create_tlogs.rb +20 -0
  57. data/sys/aro/db.rb +28 -19
  58. data/sys/aro/mancy.rb +18 -22
  59. data/sys/aro/models/base_model.rb +13 -0
  60. data/sys/{models/deck.rb → aro/models/teck.rb} +60 -57
  61. data/sys/aro/models/tlog.rb +21 -0
  62. data/sys/aro/p.rb +1 -1
  63. data/sys/aro/r.rb +2 -1
  64. data/sys/aro/v.rb +2 -2
  65. data/sys/cli/constants.rb +4 -10
  66. data/sys/cli/create.rb +2 -3
  67. data/sys/cli/dom.rb +1 -2
  68. data/sys/cli/{deck.rb → teck.rb} +38 -45
  69. data/sys/cli.rb +10 -11
  70. data/sys/dom/d.rb +68 -46
  71. data/sys/dom/dom.rb +79 -44
  72. data/sys/dom/p.rb +1 -1
  73. data/sys/fpx.rb +116 -0
  74. data/sys/reiquire.rb +8 -8
  75. data/sys/shr/prompt.rb +2 -6
  76. data/sys/shr/t.rb +11 -13
  77. data/sys/shr/version.rb +1 -1
  78. data/tasks/make.rake +1 -1
  79. metadata +82 -62
  80. data/locale/en.cngelog.yml +0 -5
  81. data/sys/aos/vws/games/abpps.rb +0 -19
  82. data/sys/aos/vws/games/hbpps.rb +0 -19
  83. data/sys/aos/vws/games/shpps.rb +0 -19
  84. data/sys/aos/vws/games/vipps.rb +0 -19
  85. data/sys/aos/you.rb +0 -21
  86. data/sys/aro/db/migrate/1763432541_create_logs.rb +0 -20
  87. data/sys/dom/config.rb +0 -665
  88. data/sys/models/log.rb +0 -20
  89. /data/sys/shr/{lib → ilib}/crs/CMakeLists.txt +0 -0
  90. /data/sys/shr/{lib → ilib}/crs/compile.sh +0 -0
  91. /data/sys/shr/{lib → ilib}/crs/crs.c +0 -0
  92. /data/sys/shr/{lib → ilib}/crs/crs.o +0 -0
  93. /data/sys/shr/{lib → ilib}/crs/libcrs.so +0 -0
data/sys/dom/config.rb DELETED
@@ -1,665 +0,0 @@
1
- =begin
2
-
3
- config.rb
4
-
5
- dom config interface.
6
-
7
- by i2097i
8
-
9
- =end
10
-
11
- module Aro
12
-
13
- # cli entrypoint
14
- def self.config
15
- Aro::Config.process_config_command(ARGV)
16
- end
17
-
18
- class Config
19
- include Singleton
20
-
21
- attr_accessor :config_path, :display_lines
22
-
23
- ARO_CONFIG_PREFIX = :ARO_CONFIG_
24
- ARO_ENV_PREFIX = :ARO_ENV_
25
-
26
- CONFIG_FILE = :".config"
27
-
28
- DATE_FORMAT = "%Y:%m:%d:%H:%M:%S"
29
-
30
- # possible envs
31
- #
32
- # example usage:
33
- # Aro::Config::ENVS[:PRODUCTION]
34
- ENVS = {
35
- DEVELOPMENT: :development,
36
- PRODUCTION: :production,
37
- TEST: :test,
38
- }
39
-
40
- # possible formats
41
- #
42
- # example usage:
43
- # Aro::Config::FORMATS[:TEXT]
44
- FORMATS = {
45
- TEXT: :text,
46
- JSON: :json,
47
- }
48
-
49
- # possible dimensions
50
- #
51
- # example usage:
52
- # Aro::Config::DMS[:DEV_TAROT]
53
- DMS = {
54
- DEV_TAROT: :dev_tarot,
55
- RUBY_FACOT: :ruby_facot,
56
- }
57
-
58
- # ovar and ivar access
59
- #
60
- # example usage:
61
- # Aro::Config::DEF_ACCESS[:READ]
62
- DEF_ACCESS = {
63
- READ: :read,
64
- WRITE: :write
65
- }
66
-
67
- BOOLS = {
68
- FALSE: false,
69
- TRUE: true,
70
- }
71
-
72
- TYPES = {
73
- BOOL: :bool,
74
- INT: :int,
75
- STRING: :string,
76
- VALUES: :values
77
- }
78
-
79
- # types used in definition
80
- #
81
- # example usage:
82
- # Aro::Config::DEF_TYPES[:INT][:validator].call(unvalid, Aro::Config::DEF[:DIMENSION])
83
- DEF_TYPES = {
84
- BOOL: {
85
- name: Aro::Config::TYPES[:BOOL],
86
- description: I18n.t("cli.config.type.bool_description"),
87
- converter: Proc.new{|v|
88
- if [Aro::Config::BOOLS[:TRUE].to_s, Aro::Mancy::S].include?(v)
89
- Aro::Config::BOOLS[:TRUE]
90
- else
91
- Aro::Config::BOOLS[:FALSE]
92
- end
93
- },
94
- validator: Proc.new{|unvalid, k, v|
95
- Aro::Config.def_valid?(k, v) &&
96
- Aro::Config.bool_valid?(unvalid)
97
- }
98
- },
99
- INT: {
100
- name: :int,
101
- description: I18n.t("cli.config.type.int_description"),
102
- converter: Proc.new{|v| v.to_i},
103
- validator: Proc.new{|unvalid, k, v|
104
- Aro::V.say("validating #{k} (#{Aro::Config::DEF_TYPES[:INT][:name]})")
105
- Aro::V.say("unvalid = #{unvalid}")
106
- Aro::V.say("[min, max] = [#{v[:min]}, #{v[:max]}]")
107
- int_valid = Aro::Config.def_valid?(k, v) &&
108
- Aro::Config.int_valid?(unvalid) &&
109
- unvalid.to_i >= v[:min] &&
110
- unvalid.to_i <= v[:max]
111
- Aro::V.say("unvalid(#{unvalid}) is#{int_valid ? " " : :" not ".to_s}valid.")
112
- int_valid
113
- }
114
- },
115
- STRING: {
116
- name: :string,
117
- description: I18n.t("cli.config.type.string_description"),
118
- converter: Proc.new{|v| v.to_s},
119
- validator: Proc.new{|unvalid, k, v|
120
- Aro::Config.def_valid?(k, v) &&
121
- Aro::Config.string_valid?(unvalid)
122
- }
123
- },
124
- VALUES: {
125
- name: :values,
126
- description: I18n.t("cli.config.type.values_description"),
127
- converter: Proc.new{|v| v.to_s},
128
- validator: Proc.new{|unvalid, k, v|
129
- Aro::Config.def_valid?(k, v) &&
130
- v[:possible_values].keys.include?(unvalid&.to_sym)
131
- }
132
- },
133
- }
134
-
135
- def self.bool_valid?(unvalid)
136
- Aro::Config::BOOLS.values.map{|b| b.to_s.to_sym}.include?(unvalid&.to_s&.to_sym)
137
- end
138
-
139
- def self.int_valid?(unvalid)
140
- !unvalid&.to_i.nil?
141
- end
142
-
143
- def self.string_valid?(unvalid)
144
- unvalid.is_a?(String)
145
- end
146
-
147
- def self.def_valid?(key, deff)
148
- def_valid = deff == Aro::Config::DEF[key]
149
- unless def_valid
150
- Aro::V.say("invalid def! #{key} => #{deff}")
151
- end
152
-
153
- def_valid
154
- end
155
-
156
- def validate_config
157
- invalid_vars = []
158
- Aro::Config::DEF.each{|k, v|
159
- is_valid = v[:access] == Aro::Config::DEF_ACCESS[:READ]
160
- unless is_valid
161
- is_valid = valid_var?(Aro::Config.ivar(k), k, v)
162
- end
163
- invalid_vars << k unless is_valid
164
- }
165
- invalid_vars
166
- end
167
-
168
- def valid_var?(var_value, k, v)
169
- Aro::V.say(v)
170
- return true if v[:access] == Aro::Config::DEF_ACCESS[:READ]
171
-
172
- Aro::Config::DEF_TYPES[
173
- v[:type].to_s.upcase.to_sym
174
- ][:validator].call(var_value, k, v)
175
- end
176
-
177
- def convert_var_for_def(k)
178
- Aro::Config::DEF_TYPES[
179
- Aro::Config::DEF[k][:type].upcase
180
- ][:converter].call(ENV[Aro::Config.ivar_k(k)])
181
- end
182
-
183
- # adapts I18n translations to generate bash environment vars.
184
- #
185
- # example usage:
186
- # Aro::Config::DEF[:Z_MAX]
187
- DEF = {
188
-
189
- #
190
- # => ivars
191
- #
192
- ENV: {
193
- type: Aro::Config::TYPES[:VALUES],
194
- access: Aro::Config::DEF_ACCESS[:WRITE],
195
- value: Aro::Config::ENVS[:PRODUCTION],
196
- description: I18n.t("cli.config.env.description"),
197
- possible_values: {
198
- development: I18n.t("cli.config.env.development_description"),
199
- production: I18n.t("cli.config.env.production_description"),
200
- test: I18n.t("cli.config.env.test_description"),
201
- }
202
- },
203
- VERBOSE: {
204
- type: Aro::Config::TYPES[:BOOL],
205
- access: Aro::Config::DEF_ACCESS[:WRITE],
206
- value: Aro::Config::BOOLS[:FALSE],
207
- description: I18n.t("cli.config.verbose_description"),
208
- },
209
- LOG_AOS_DB: {
210
- type: Aro::Config::TYPES[:BOOL],
211
- access: Aro::Config::DEF_ACCESS[:WRITE],
212
- value: Aro::Config::BOOLS[:FALSE],
213
- description: I18n.t("cli.config.log_aos_db_description"),
214
- },
215
- LOG_ARO_DB: {
216
- type: Aro::Config::TYPES[:BOOL],
217
- access: Aro::Config::DEF_ACCESS[:WRITE],
218
- value: Aro::Config::BOOLS[:FALSE],
219
- description: I18n.t("cli.config.log_aro_db_description"),
220
- },
221
- FORMAT: { # not implemented yet.
222
- type: Aro::Config::TYPES[:VALUES],
223
- implemented: false,
224
- access: Aro::Config::DEF_ACCESS[:WRITE],
225
- value: Aro::Config::FORMATS[:TEXT],
226
- description: I18n.t("cli.config.format.description"),
227
- possible_values: {
228
- text: I18n.t("cli.config.format.text_description"),
229
- json: I18n.t("cli.config.format.json_description")
230
- }
231
- },
232
- DIMENSION: {
233
- type: Aro::Config::TYPES[:VALUES],
234
- access: Aro::Config::DEF_ACCESS[:WRITE],
235
- value: Aro::Config::DMS[:DEV_TAROT],
236
- description: I18n.t("cli.config.dimension.description"),
237
- possible_values: {
238
- dev_tarot: I18n.t("cli.config.dimension.dev_tarot_description"),
239
- ruby_facot: I18n.t("cli.config.dimension.ruby_facot_description"),
240
- }
241
- },
242
- HEIGHT: {
243
- type: Aro::Config::TYPES[:INT],
244
- access: Aro::Config::DEF_ACCESS[:WRITE],
245
- value: Aro::Mancy::NUMERALS[:XLII],
246
- min: Aro::Mancy::NUMERALS[:I],
247
- max: Aro::Mancy::NUMERALS[:MMXCVII],
248
- description: I18n.t(
249
- "cli.config.height_description",
250
- min: Aro::Mancy::NUMERALS[:I],
251
- max: Aro::Mancy::NUMERALS[:VII].pow(Aro::Mancy::OS),
252
- ),
253
- },
254
- WIDTH: {
255
- type: Aro::Config::TYPES[:INT],
256
- access: Aro::Config::DEF_ACCESS[:WRITE],
257
- value: Aro::Mancy::NUMERALS[:C] + Aro::Mancy::NUMERALS[:XXXVII] - Aro::Mancy::S,
258
- min: Aro::Mancy::NUMERALS[:I],
259
- max: Aro::Mancy::NUMERALS[:MMXCVII],
260
- description: I18n.t(
261
- "cli.config.width_description",
262
- min: Aro::Mancy::NUMERALS[:I],
263
- max: Aro::Mancy::NUMERALS[:XI].pow(Aro::Mancy::OS),
264
- ),
265
- },
266
- Z: {
267
- type: Aro::Config::TYPES[:INT],
268
- access: Aro::Config::DEF_ACCESS[:WRITE],
269
- value: Aro::Mancy::NUMERALS[:I],
270
- min: Aro::Mancy::NUMERALS[:I],
271
- max: Aro::Mancy::NUMERALS[:MMXCVII],
272
- description: I18n.t(
273
- "cli.config.z_description",
274
- min: Aro::Mancy::NUMERALS[:I],
275
- max: Aro::Mancy::NUMERALS[:MMXCVII],
276
- ),
277
- },
278
- Z_MAX: {
279
- type: Aro::Config::TYPES[:INT],
280
- access: Aro::Config::DEF_ACCESS[:WRITE],
281
- value: Aro::Mancy::NUMERALS[:VII],
282
- min: Aro::Mancy::NUMERALS[:I],
283
- max: Aro::Mancy::NUMERALS[:XXII],
284
- description: I18n.t(
285
- "cli.config.z_max_description",
286
- min: Aro::Mancy::NUMERALS[:I],
287
- max: Aro::Mancy::NUMERALS[:XXII],
288
- ),
289
- },
290
-
291
- #
292
- # => ovars
293
- #
294
- ARO_ENV_O: {
295
- type: Aro::Config::TYPES[:INT],
296
- access: Aro::Config::DEF_ACCESS[:READ],
297
- value: Aro::Mancy::O,
298
- description: I18n.t("cli.config.aro_env.O_description"),
299
- },
300
- ARO_ENV_S: {
301
- type: Aro::Config::TYPES[:INT],
302
- access: Aro::Config::DEF_ACCESS[:READ],
303
- value: Aro::Mancy::S,
304
- description: I18n.t("cli.config.aro_env.S_description"),
305
- },
306
- ARO_ENV_OS: {
307
- type: Aro::Config::TYPES[:INT],
308
- access: Aro::Config::DEF_ACCESS[:READ],
309
- value: Aro::Mancy::OS,
310
- description: I18n.t("cli.config.aro_env.OS_description"),
311
- },
312
- ARO_ENV_E: {
313
- type: Aro::Config::TYPES[:INT],
314
- access: Aro::Config::DEF_ACCESS[:READ],
315
- value: Aro::Mancy::E,
316
- description: I18n.t("cli.config.aro_env.E_description"),
317
- },
318
- ARO_ENV_N: {
319
- type: Aro::Config::TYPES[:INT],
320
- access: Aro::Config::DEF_ACCESS[:READ],
321
- value: Aro::Mancy::N,
322
- description: I18n.t("cli.config.aro_env.N_description"),
323
- },
324
- ARO_ENV_PS1: {
325
- type: Aro::Config::TYPES[:STRING],
326
- access: Aro::Config::DEF_ACCESS[:READ],
327
- value: Aro::Mancy::PS1,
328
- description: I18n.t("cli.config.aro_env.PS1_description"),
329
- },
330
- ARO_ENV_NAME_FILE: {
331
- type: Aro::Config::TYPES[:STRING],
332
- access: Aro::Config::DEF_ACCESS[:READ],
333
- value: Aro::Mancy::NAME_FILE,
334
- description: I18n.t("cli.config.aro_env.NAME_FILE_description"),
335
- },
336
- ARO_ENV_I2097I: {
337
- type: Aro::Config::TYPES[:STRING],
338
- access: Aro::Config::DEF_ACCESS[:READ],
339
- value: Aro::Mancy::I2097I,
340
- description: I18n.t("cli.config.aro_env.I2097I_description"),
341
- },
342
- ARO_ENV_YES: {
343
- type: Aro::Config::TYPES[:STRING],
344
- access: Aro::Config::DEF_ACCESS[:READ],
345
- value: Aro::Mancy::YES,
346
- description: I18n.t("cli.config.aro_env.YES_description"),
347
- },
348
- ARO_ENV_ALL: {
349
- type: Aro::Config::TYPES[:STRING],
350
- access: Aro::Config::DEF_ACCESS[:READ],
351
- value: Aro::Mancy::ALL,
352
- description: I18n.t("cli.config.aro_env.ALL_description"),
353
- },
354
- }
355
-
356
- def load
357
- unless File.exist?(Aro::Config.config_filepath)
358
- generate_config
359
- end
360
-
361
- source_config
362
- setup_env
363
-
364
- self.display_lines = Aro::Config.base_lines
365
- end
366
-
367
- def self.base_lines
368
- # print Aro::Config::DEF
369
- lines = []
370
- lines << "loaded config at: #{Aos::Os.osify(Aro::Config.config_filepath)}"
371
- lines << "<Aro::Config::DEF>"
372
- lines += Aro::Config.dump_config
373
-
374
- # print config commands
375
- lines << ""
376
- lines << I18n.t("aos.constants.commands")
377
- lines += Aos::Vw::Base.lines_for_cmd(Aos::Os::CMDS[:CONFIG])
378
- lines
379
- end
380
-
381
- def self.config_filepath
382
- if Aro::Mancy.in_aro? && Aro::Mancy.is_initialized?
383
- self.instance.config_path = File.join(Dir.pwd, Aro::Db.base_aro_dir)
384
- elsif Aro::Dom.in_arodom? && Aro::Dom.is_initialized?
385
- self.instance.config_path = File.join(Aro::Dom::dom_root, Aro::Dom.room_path(:config))
386
- end
387
-
388
- File.join(
389
- self.instance.config_path,
390
- Aro::Config::CONFIG_FILE.to_s
391
- )
392
- end
393
-
394
- def self.is_test?
395
- ENV[:ARO_ENV.to_s] == Aro::Config::ENVS[:TEST].to_s
396
- end
397
-
398
- def self.display_configuration
399
- height, width = IO.console.winsize
400
- result = {
401
- HEIGHT: height, #Aro::Config.ivar(:HEIGHT).to_i,
402
- WIDTH: width - Aro::Mancy::O,
403
- DIVIDER: :".".to_s
404
- }
405
- # Aro::V.say(result)
406
-
407
- result
408
- end
409
-
410
- def self.is_format_text?
411
- Aro::Config.ivar(:FORMAT)&.to_sym == Aro::Config::FORMATS[:TEXT]
412
- end
413
-
414
- def self.process_config_command(args)
415
- if [args[2],args[3]].compact.any? && args[1] == Aos::Os::CMDS[:CONFIG][:cmds][:SET][:key].to_s
416
- Aro::Config.set_ivar(args[2], args[3])
417
- end
418
- end
419
-
420
- # out vars
421
- def self.ovar(suffix)
422
- Aro::Config::DEF[suffix][:value]
423
- end
424
- # out vars
425
- def self.ovar_k(suffix)
426
- "#{Aro::Config::ARO_ENV_PREFIX}#{suffix}"
427
- end
428
-
429
- # in vars
430
- def self.ivar(suffix)
431
- ENV[Aro::Config.ivar_k(suffix)]
432
- end
433
- # in vars
434
- def self.ivar_k(suffix)
435
- "#{Aro::Config::ARO_CONFIG_PREFIX}#{suffix}"
436
- end
437
-
438
- def self.set_ivar(k, new_value)
439
- k = k.upcase.to_sym
440
-
441
- current_value = Aro::Config.ivar(k)
442
- # ensure the var name is valid
443
- unless current_value.nil?
444
- Aro::Dom::P.say("validating #{k} with value #{new_value}")
445
- if Aro::Config.instance.valid_var?(new_value, k, Aro::Config::DEF[k])
446
- # set ENV value
447
- ENV[Aro::Config.ivar_k(k)] = new_value
448
- Aro::Dom::P.say("#{k} set to #{new_value}")
449
- Aro::V.say(ENV[Aro::Config.ivar_k(k)])
450
-
451
- # flush existing config and regen
452
- Aro::Config.instance.generate_config(true)
453
- Aro::Config.instance.source_config
454
- Aro::Config.instance.setup_env
455
- Aro::Db.configure_logger
456
- Aos::Db.configure_logger
457
- else
458
- Aro::Dom::P.say("the ivar value you entered is invalid. ignoring.")
459
- end
460
- else
461
- Aro::Dom::P.say("the ivar name you entered is invalid. ignoring.")
462
- end
463
- end
464
-
465
- def setup_env
466
- # do not change - update $ARO_CONFIG_ENV .aro/.config file
467
- #
468
- # default is production
469
- varenv = Aro::Config.ivar(:ENV)
470
- is_valid = valid_var?(varenv, :ENV, Aro::Config::DEF[:ENV])
471
- ENV[:ARO_ENV.to_s] = is_valid ? varenv : Aro::Config::ENVS[:PRODUCTION].to_s
472
- Aro::D.say("setup_env: #{ENV[:ARO_ENV.to_s]}")
473
- end
474
-
475
- def self.dump_config
476
- dump = []
477
- Aro::Config::DEF.each{|k, v|
478
- if v[:access] == Aro::Config::DEF_ACCESS[:WRITE]
479
- dump << "$#{Aro::Config.ivar_k(k).ljust(Aro::Mancy::NUMERALS[:XIV] * Aro::Mancy::OS)}=#{Aro::Config.ivar(k)}"
480
- else
481
- dump << "$#{Aro::Config.ovar_k(k).ljust(Aro::Mancy::NUMERALS[:XIV] * Aro::Mancy::OS)}=#{Aro::Config.ovar(k)}"
482
- end
483
- }
484
-
485
- dump
486
- end
487
-
488
- def source_config
489
- Aro::D.say(I18n.t("cli.config.source", name: Aro::Config.config_filepath))
490
- File.read(Aro::Config.config_filepath).split("\n").select{|line|
491
- line.match?(/export #{Aro::Config::ARO_CONFIG_PREFIX}/)
492
- }.map{|line|
493
- line.gsub("export ", "").split("=")
494
- }.each{|kv|
495
- Aro::V.say("variable to set: #{kv}")
496
- ENV[kv[0]] = kv[1] # source
497
- Aro::V.say("value actually set: #{ENV[kv[0]]}")
498
- }
499
-
500
- # todo: implement
501
- invalid_defs = validate_config
502
- Aro::Config.dump_config.each{|l| Aro::V.say(l)}
503
- invalid_defs.each{|k|
504
- v = Aro::Config::DEF[k.to_sym]
505
- if v[:access] == Aro::Config::DEF_ACCESS[:WRITE]
506
- ENV[Aro::Config.ivar_k(k)] = v[:value]
507
- else
508
- ENV[Aro::Config.ovar_k(k)] = v[:value]
509
- end
510
- }
511
- end
512
-
513
- def generate_config(from_memory = false)
514
- # todo: localize generated config text
515
- Aro::D.say(I18n.t("cli.config.generate", name: Aro::Config.config_filepath))
516
- File.open(Aro::Config.config_filepath, "w+") do |file|
517
- # intro
518
- Aro::Mancy::OS.times do
519
- print_div file.object_id
520
- end
521
- # header
522
- print_div file.object_id
523
- print_sr file.object_id
524
- print_config_header file.object_id
525
- print_sr file.object_id
526
- print_div file.object_id
527
-
528
- print_osr file.object_id
529
-
530
- # def_types
531
- print_div file.object_id
532
- print_sr file.object_id
533
- print_def_types file.object_id
534
- print_sr file.object_id
535
- print_div file.object_id
536
-
537
- print_osr file.object_id
538
-
539
- # var section
540
- print_div file.object_id
541
- print_sr file.object_id
542
- print_var_section file.object_id
543
- print_sr file.object_id
544
- print_div file.object_id
545
-
546
- print_osr file.object_id
547
-
548
- # vars
549
- Aro::Config::DEF.each{|k, v|
550
- print_var file.object_id, k, v, (from_memory ? ENV[Aro::Config.ivar_k(k)] : nil)
551
- }
552
-
553
- print_osr file.object_id
554
-
555
- # var section
556
- print_div file.object_id
557
- print_sr file.object_id
558
- print_var_section file.object_id
559
- print_sr file.object_id
560
- print_div file.object_id
561
-
562
- print_osr file.object_id
563
- # outro
564
- Aro::Mancy::OS.times do
565
- print_div file.object_id
566
- end
567
- file.write("\n")
568
- end
569
- end
570
-
571
- def print_div f_object_id
572
- file = ObjectSpace._id2ref f_object_id
573
- file.write("#{"#" * Aro::Mancy::NUMERALS[:VIII].pow(2)}\n")
574
- end
575
-
576
- def print_sr f_object_id
577
- file = ObjectSpace._id2ref f_object_id
578
- Aro::Mancy::S.times do
579
- file.write("#\n")
580
- end
581
- end
582
-
583
- def print_osr f_object_id
584
- Aro::Mancy::OS.times do
585
- print_sr f_object_id
586
- end
587
- end
588
-
589
- def print_config_header f_object_id
590
- file = ObjectSpace._id2ref f_object_id
591
- file.write("# #{Aro::Mancy::PS1} configuration file.\n")
592
- file.write("# this file was auto generated by the aro cli.\n")
593
- end
594
-
595
- def print_var_section f_object_id
596
- file = ObjectSpace._id2ref f_object_id
597
- file.write("# VARIABLE SECTION!\n")
598
- end
599
-
600
- def print_def_types f_object_id
601
- file = ObjectSpace._id2ref f_object_id
602
- file.write("# Aro::Config::DEF_TYPES\n")
603
- file.write("# describes the possible types of variables.\n")
604
- Aro::Config::DEF_TYPES.each{|k, v|
605
- file.write("# #{k}: #{v[:description]}\n")
606
- }
607
- print_osr f_object_id
608
- file.write("# Aro::Config::DEF\n")
609
- file.write("# define & expose an aro bash api via ENV variables.\n")
610
- file.write("# there are two types of bash vars in aro.\n")
611
- file.write("# 1) in vars (ivars). \n")
612
- file.write("# => ivars enter aro from this file during aro init.\n")
613
- file.write("# => aro validates them and uses them unless unvalid.\n")
614
- file.write("# => otherwise aro will use the defaults listed below.\n")
615
- file.write("# 2) out vars (ovars).\n")
616
- file.write("# => ovars are read-only vars that aro exposes to bash.\n")
617
- file.write("# => this is useful because it provides a bash interface\n")
618
- file.write("# => which can be used to write programs on top of aro.\n")
619
- end
620
-
621
- def print_var f_object_id, k, v, mem_v
622
- file = ObjectSpace._id2ref f_object_id
623
-
624
- is_ovar = Aro::Config::DEF[k][:access] == Aro::Config::DEF_ACCESS[:READ]
625
- if is_ovar
626
- var_name = k
627
- else
628
- var_name = Aro::Config.ivar_k(k)
629
- end
630
- Aro::V.say("access for #{k} is #{Aro::Config::DEF[k][:access]}")
631
- Aro::V.say("using var_name: #{var_name}")
632
- file.write("# [#{var_name}] (#{is_ovar ? :ovar : :ivar})\n")
633
- file.write("# => Aro::Config::DEF_TYPES: #{v[:type]}\n")
634
- case v[:type]
635
- when Aro::Config::DEF_TYPES[:INT][:name]
636
- file.write("# => #{I18n.t("cli.config.type.int_description")}\n")
637
- file.write("# => #{I18n.t("cli.config.minimum")}: #{v[:min]}\n")
638
- file.write("# => #{I18n.t("cli.config.maximum")}: #{v[:max]}\n")
639
- when Aro::Config::DEF_TYPES[:STRING][:name]
640
- file.write("# => #{I18n.t("cli.config.type.string_description")}\n")
641
- file.write("# => use \"double quotes\" if there are any spaces.\n")
642
- when Aro::Config::DEF_TYPES[:VALUES][:name]
643
- file.write("# => #{I18n.t("cli.config.type.values_description")}\n")
644
- file.write("# => #{I18n.t("cli.config.possible_values")}:\n")
645
- print_sr f_object_id
646
- v[:possible_values].each{|name, description|
647
- file.write("# => #{name}\n")
648
- print_sr f_object_id
649
- file.write("# =>#{description}\n")
650
- print_sr f_object_id
651
- }
652
- end
653
- print_osr f_object_id
654
- file.write("# => description:\n")
655
- file.write("# => #{v[:description]}\n")
656
- if is_ovar && Aro::Config::DEF_TYPES[:STRING][:name] == v[:type]
657
- file.write("export #{var_name}=\"#{v[:value]}\"\n")
658
- else
659
- file.write("export #{var_name}=#{mem_v || v[:value]}\n")
660
- end
661
- print_osr f_object_id
662
- end
663
-
664
- end
665
- end
data/sys/models/log.rb DELETED
@@ -1,20 +0,0 @@
1
- =begin
2
-
3
- log.rb
4
-
5
- log object.
6
-
7
- by i2097i
8
-
9
- =end
10
-
11
- require_relative :"./deck".to_s
12
-
13
- class Aro::Log < ActiveRecord::Base
14
- belongs_to :deck, :class_name => :"#{Aro::Deck.name}".to_s
15
-
16
- ORDERING = {
17
- ASC: :asc,
18
- DESC: :desc
19
- }
20
- end
File without changes
File without changes
File without changes
File without changes
File without changes