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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/aro.gemspec +3 -3
- data/bin/aos +10 -3
- data/bin/aro +18 -11
- data/checksums/aro-0.2.1.gem.sha512 +1 -0
- data/checksums/aro-0.2.2.gem.sha512 +1 -0
- data/checksums/aro-0.2.3.gem.sha512 +1 -0
- data/locale/en.abot.yml +81 -0
- data/locale/en.amg.yml +44 -0
- data/locale/en.aos.yml +8 -38
- data/locale/en.cor.yml +47 -0
- data/locale/en.data.yml +30 -0
- data/locale/en.dom.yml +22 -18
- data/locale/en.flie.yml +29 -0
- data/locale/en.usage.yml +39 -26
- data/locale/en.yml +10 -51
- data/sys/aos/abot.rb +256 -0
- data/sys/aos/amg.rb +58 -56
- data/sys/aos/aos.rb +425 -180
- data/sys/aos/cor.rb +773 -0
- data/sys/aos/data.rb +117 -0
- data/sys/aos/db/migrate/1765148774_create_yous.rb +1 -0
- data/sys/aos/db/migrate/{1765762724_create_libs.rb → 1765762724_create_ilibs.rb} +5 -5
- data/sys/aos/db/migrate/1765907766_create_ilogs.rb +18 -0
- data/sys/aos/db/migrate/1765933985_create_agodos.rb +22 -0
- data/sys/aos/db/migrate/1766203888_create_fpxies.rb +18 -0
- data/sys/aos/db.rb +47 -27
- data/sys/aos/flie.rb +144 -0
- data/sys/aos/models/agodo.rb +96 -0
- data/sys/aos/models/base_model.rb +13 -0
- data/sys/aos/models/fpxy.rb +28 -0
- data/sys/{shr/lib/lib.rb → aos/models/ilib.rb} +11 -6
- data/sys/aos/models/ilog.rb +29 -0
- data/sys/aos/models/you.rb +98 -0
- data/sys/aos/s.rb +2 -1
- data/sys/aos/vws/base.rb +69 -78
- data/sys/aos/vws/dom.rb +1 -2
- data/sys/aos/vws/games/abot.rb +21 -0
- data/sys/aos/vws/games/{game.rb → teck.rb} +27 -24
- data/sys/aos/vws/home.rb +23 -0
- data/sys/aos/vws/know/{temple.rb → body.rb} +3 -3
- data/sys/aos/vws/know/{library.rb → mind.rb} +3 -3
- data/sys/aos/vws/know/spirit.rb +19 -0
- data/sys/aos/vws/{setup → root}/amg.rb +1 -2
- data/sys/aos/vws/{setup → root}/config.rb +4 -4
- data/sys/aos/vws/root/data.rb +21 -0
- data/sys/aos/vws/root/flie.rb +21 -0
- data/sys/aos/vws/{setup.rb → root.rb} +3 -3
- data/sys/aos/vws/welcome/waite.rb +1 -0
- data/sys/aos/vws/welcome.rb +47 -0
- data/sys/aro/d.rb +4 -2
- data/sys/aro/db/migrate/{1763374647_create_decks.rb → 1763374647_create_tecks.rb} +5 -5
- data/sys/aro/db/migrate/1763432541_create_tlogs.rb +20 -0
- data/sys/aro/db.rb +28 -19
- data/sys/aro/mancy.rb +18 -22
- data/sys/aro/models/base_model.rb +13 -0
- data/sys/{models/deck.rb → aro/models/teck.rb} +60 -57
- data/sys/aro/models/tlog.rb +21 -0
- data/sys/aro/p.rb +1 -1
- data/sys/aro/r.rb +2 -1
- data/sys/aro/v.rb +2 -2
- data/sys/cli/constants.rb +4 -10
- data/sys/cli/create.rb +2 -3
- data/sys/cli/dom.rb +1 -2
- data/sys/cli/{deck.rb → teck.rb} +38 -45
- data/sys/cli.rb +10 -11
- data/sys/dom/d.rb +68 -46
- data/sys/dom/dom.rb +79 -44
- data/sys/dom/p.rb +1 -1
- data/sys/fpx.rb +116 -0
- data/sys/reiquire.rb +8 -8
- data/sys/shr/prompt.rb +2 -6
- data/sys/shr/t.rb +11 -13
- data/sys/shr/version.rb +1 -1
- data/tasks/make.rake +1 -1
- metadata +82 -62
- data/locale/en.cngelog.yml +0 -5
- data/sys/aos/vws/games/abpps.rb +0 -19
- data/sys/aos/vws/games/hbpps.rb +0 -19
- data/sys/aos/vws/games/shpps.rb +0 -19
- data/sys/aos/vws/games/vipps.rb +0 -19
- data/sys/aos/you.rb +0 -21
- data/sys/aro/db/migrate/1763432541_create_logs.rb +0 -20
- data/sys/dom/config.rb +0 -665
- data/sys/models/log.rb +0 -20
- /data/sys/shr/{lib → ilib}/crs/CMakeLists.txt +0 -0
- /data/sys/shr/{lib → ilib}/crs/compile.sh +0 -0
- /data/sys/shr/{lib → ilib}/crs/crs.c +0 -0
- /data/sys/shr/{lib → ilib}/crs/crs.o +0 -0
- /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
|