aro 0.2.5 → 0.2.6
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 +2 -2
- data/.ruby-version +1 -0
- data/Gemfile.lock +106 -89
- data/aro.gemspec +10 -11
- data/bin/oss_om +15 -0
- data/checksums/aro-0.2.5.gem.sha512 +1 -0
- data/checksums/aro-0.2.6.gem.sha512 +1 -0
- data/locale/en.cards.yml +1 -1
- data/locale/en.cmd.yml +34 -0
- data/locale/en.cor.yml +5 -8
- data/locale/en.menu_items.yml +2 -0
- data/locale/en.menus.yml +2 -0
- data/locale/en.usage.yml +21 -98
- data/locale/en.yml +61 -50
- data/sys/aro/cmd.rb +96 -0
- data/sys/{aos → aro}/cor.rb +224 -268
- data/sys/aro/d.rb +4 -3
- data/sys/aro/db/migrate/.DS_Store +0 -0
- data/sys/aro/db/migrate/1793913747_create_data_bases.rb +13 -0
- data/sys/aro/db/migrate/1793913777_create_data_base_directories.rb +14 -0
- data/sys/aro/db/migrate/1793913796_create_data_base_files.rb +12 -0
- data/sys/aro/db/migrate/1793913841_create_menus.rb +11 -0
- data/sys/aro/db/migrate/1793913861_create_menu_items.rb +14 -0
- data/sys/aro/db.rb +72 -33
- data/sys/aro/designer.rb +281 -0
- data/sys/aro/locale.rb +136 -0
- data/sys/aro/ma_ain.rb +54 -0
- data/sys/aro/mancy.rb +53 -28
- data/sys/aro/models/concerns/.keep +0 -0
- data/sys/aro/models/concerns/uuid.rb +29 -0
- data/sys/aro/models/data_base.rb +97 -0
- data/sys/aro/models/directory.rb +44 -0
- data/sys/aro/models/file.rb +27 -0
- data/sys/aro/models/menu.rb +27 -0
- data/sys/aro/models/menu_item.rb +47 -0
- data/sys/aro/models/teck.rb +19 -28
- data/sys/aro/p.rb +6 -3
- data/sys/aro/r.rb +1 -2
- data/sys/aro/store.rb +147 -0
- data/sys/aro/v.rb +2 -2
- data/sys/aro/views/base.rb +25 -0
- data/sys/aro/views/teck.rb +30 -0
- data/sys/aro.rb +1 -2
- data/sys/cli/constants.rb +1 -6
- data/sys/cli/create.rb +3 -3
- data/sys/cli/nterface.rb +8 -8
- data/sys/cli/teck.rb +17 -18
- data/sys/cli/usage.rb +4 -8
- data/sys/cli.rb +0 -1
- data/sys/reiquire.rb +146 -25
- data/sys/shr/.DS_Store +0 -0
- data/sys/shr/prompt.rb +8 -2
- data/sys/shr/t.rb +5 -5
- data/sys/shr/version.rb +9 -2
- data/tasks/make.rake +2 -1
- metadata +53 -116
- data/bin/aos +0 -31
- data/bin/aro +0 -50
- data/bin/ino +0 -22
- data/ino_rules_todo.txt +0 -28
- data/locale/en.abot.yml +0 -81
- data/locale/en.amg.yml +0 -44
- data/locale/en.aos.yml +0 -40
- data/locale/en.data.yml +0 -30
- data/locale/en.dom.yml +0 -47
- data/locale/en.flie.yml +0 -29
- data/locale/en.ino.yml +0 -9
- data/sys/aos/abot.rb +0 -254
- data/sys/aos/amg.rb +0 -184
- data/sys/aos/aos.rb +0 -672
- data/sys/aos/data.rb +0 -117
- data/sys/aos/db/migrate/1765148774_create_yous.rb +0 -20
- data/sys/aos/db/migrate/1765762724_create_ilibs.rb +0 -22
- data/sys/aos/db/migrate/1765907766_create_ilogs.rb +0 -18
- data/sys/aos/db/migrate/1765933985_create_agodos.rb +0 -22
- data/sys/aos/db/migrate/1766203888_create_fpxies.rb +0 -18
- data/sys/aos/db.rb +0 -105
- data/sys/aos/flie.rb +0 -144
- data/sys/aos/models/agodo.rb +0 -103
- data/sys/aos/models/fpxy.rb +0 -26
- data/sys/aos/models/ilib.rb +0 -46
- data/sys/aos/models/ilog.rb +0 -27
- data/sys/aos/models/you.rb +0 -138
- data/sys/aos/s.rb +0 -26
- data/sys/aos/vws/base.rb +0 -159
- data/sys/aos/vws/dom.rb +0 -32
- data/sys/aos/vws/games/abot.rb +0 -21
- data/sys/aos/vws/games/ino.rb +0 -21
- data/sys/aos/vws/games/teck.rb +0 -122
- data/sys/aos/vws/games.rb +0 -19
- data/sys/aos/vws/home.rb +0 -23
- data/sys/aos/vws/know/body.rb +0 -19
- data/sys/aos/vws/know/mind.rb +0 -19
- data/sys/aos/vws/know/spirit.rb +0 -19
- data/sys/aos/vws/know.rb +0 -19
- data/sys/aos/vws/root/amg.rb +0 -21
- data/sys/aos/vws/root/config.rb +0 -21
- data/sys/aos/vws/root/data.rb +0 -21
- data/sys/aos/vws/root/flie.rb +0 -21
- data/sys/aos/vws/root.rb +0 -19
- data/sys/aos/vws/welcome/waite.rb +0 -31
- data/sys/aos/vws/welcome/winner.rb +0 -19
- data/sys/aos/vws/welcome.rb +0 -66
- data/sys/aro/db/migrate/1768856981_create_scrolls.rb +0 -20
- data/sys/aro/db/migrate/1768858841_create_legends.rb +0 -16
- data/sys/aro/db/migrate/1768858967_create_stories.rb +0 -17
- data/sys/aro/db/migrate/1768859060_create_chapters.rb +0 -15
- data/sys/aro/db/migrate/1768859126_create_statements.rb +0 -22
- data/sys/aro/db/migrate/1768859144_create_players.rb +0 -18
- data/sys/aro/ino.rb +0 -64
- data/sys/aro/models/chapter.rb +0 -18
- data/sys/aro/models/legend.rb +0 -28
- data/sys/aro/models/player.rb +0 -17
- data/sys/aro/models/scroll.rb +0 -46
- data/sys/aro/models/statement.rb +0 -14
- data/sys/aro/models/story.rb +0 -28
- data/sys/cli/dom.rb +0 -43
- data/sys/dom/d.rb +0 -138
- data/sys/dom/dom.rb +0 -215
- data/sys/dom/p.rb +0 -17
- data/sys/fpx.rb +0 -104
- data/sys/shr/ilib/crs/CMakeLists.txt +0 -12
- data/sys/shr/ilib/crs/compile.sh +0 -5
- data/sys/shr/ilib/crs/crs.c +0 -24
- data/sys/shr/ilib/crs/crs.o +0 -0
- data/sys/shr/ilib/crs/libcrs.so +0 -0
data/sys/{aos → aro}/cor.rb
RENAMED
|
@@ -2,23 +2,55 @@
|
|
|
2
2
|
|
|
3
3
|
cor.rb
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
cor interface.
|
|
6
6
|
|
|
7
7
|
by i2097i
|
|
8
8
|
|
|
9
9
|
=end
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
require_relative :"./mancy".to_s
|
|
12
|
+
|
|
13
|
+
module Aro
|
|
12
14
|
# cli entrypoint
|
|
13
15
|
def self.cor
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
if CLI::FLAGS[:HELP].include?(CLI::ARGV1)
|
|
17
|
+
CLI.usage_cor
|
|
18
|
+
exit(CLI::EXIT_CODES[:SUCCESS])
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
Aro::Cor.instance.load_env
|
|
22
|
+
Aro::Cor.process_command(ARGV)
|
|
16
23
|
end
|
|
17
24
|
|
|
18
25
|
class Cor
|
|
19
26
|
include Singleton
|
|
20
27
|
|
|
21
|
-
attr_accessor :base_lines_def, :
|
|
28
|
+
attr_accessor :base_lines_def, :display_lines, :use_less
|
|
29
|
+
|
|
30
|
+
def self.process_command(args)
|
|
31
|
+
k = Aro::Cor::DEF.keys.filter{|k| k == args[Aro::Mancy::S]&.upcase&.to_sym}&.first
|
|
32
|
+
unless k.nil?
|
|
33
|
+
unless args[Aro::Mancy::OS].nil?
|
|
34
|
+
# config var_name var_value
|
|
35
|
+
Aro::Cor.set_ivar(args[Aro::Mancy::S], args[Aro::Mancy::OS])
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# basic show var description and value
|
|
39
|
+
self.instance.display_lines = self.instance.lines_var(k, Aro::Cor::DEF[k], ENV[Aro::Cor.ivar_k(k)])
|
|
40
|
+
else
|
|
41
|
+
self.instance.display_lines = Aro::Cor.base_lines(args)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
if Aro::Mancy.in_aro?
|
|
45
|
+
if self.instance.use_less
|
|
46
|
+
Aro::P.less(self.instance.display_lines.join("\n"))
|
|
47
|
+
else
|
|
48
|
+
Aro::P.say(self.instance.display_lines)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
self.instance.use_less = false
|
|
53
|
+
end
|
|
22
54
|
|
|
23
55
|
ARO_IVA_PREFIX = :ARO_IVA_
|
|
24
56
|
ARO_OVA_PREFIX = :ARO_OVA_
|
|
@@ -32,26 +64,17 @@ module Aos
|
|
|
32
64
|
# possible envs
|
|
33
65
|
#
|
|
34
66
|
# example usage:
|
|
35
|
-
#
|
|
67
|
+
# Aro::Cor::ENVS[:PRODUCTION]
|
|
36
68
|
ENVS = {
|
|
37
69
|
DEVELOPMENT: :development,
|
|
38
70
|
PRODUCTION: :production,
|
|
39
71
|
TEST: :test
|
|
40
72
|
}
|
|
41
73
|
|
|
42
|
-
# possible formats
|
|
43
|
-
#
|
|
44
|
-
# example usage:
|
|
45
|
-
# Aos::Cor::FORMATS[:TEXT]
|
|
46
|
-
FORMATS = {
|
|
47
|
-
TEXT: :text,
|
|
48
|
-
JSON: :json,
|
|
49
|
-
}
|
|
50
|
-
|
|
51
74
|
# possible interfaces
|
|
52
75
|
#
|
|
53
76
|
# example usage:
|
|
54
|
-
#
|
|
77
|
+
# Aro::Cor::INTERFACES[:TERMINAL]
|
|
55
78
|
INTERFACES = {
|
|
56
79
|
TERMINAL: :terminal,
|
|
57
80
|
LANIMRET: :lanimret,
|
|
@@ -60,7 +83,7 @@ module Aos
|
|
|
60
83
|
# possible dimensions
|
|
61
84
|
#
|
|
62
85
|
# example usage:
|
|
63
|
-
#
|
|
86
|
+
# Aro::Cor::DMS[:DEV_TAROT]
|
|
64
87
|
DMS = {
|
|
65
88
|
DEV_TAROT: :dev_tarot,
|
|
66
89
|
RUBY_FACOT: :ruby_facot
|
|
@@ -69,7 +92,7 @@ module Aos
|
|
|
69
92
|
# ovar and ivar access
|
|
70
93
|
#
|
|
71
94
|
# example usage:
|
|
72
|
-
#
|
|
95
|
+
# Aro::Cor::DEF_ACCESS[:READ]
|
|
73
96
|
DEF_ACCESS = {
|
|
74
97
|
READ: :read,
|
|
75
98
|
WRITE: :write
|
|
@@ -90,61 +113,55 @@ module Aos
|
|
|
90
113
|
# types used in definition
|
|
91
114
|
#
|
|
92
115
|
# example usage:
|
|
93
|
-
#
|
|
116
|
+
# Aro::Cor::DEF_TYPES[:INT][:validator].call(unvalid, Aro::Cor::DEF[:DIMENSION])
|
|
94
117
|
DEF_TYPES = {
|
|
95
118
|
BOOL: {
|
|
96
|
-
name:
|
|
119
|
+
name: Aro::Cor::TYPES[:BOOL],
|
|
97
120
|
description: I18n.t("cor.type.bool_description"),
|
|
98
|
-
converter: Proc.new{|v|
|
|
99
|
-
if [Aos::Cor::BOOLS[:TRUE].to_s, Aro::Mancy::S].include?(v)
|
|
100
|
-
Aos::Cor::BOOLS[:TRUE]
|
|
101
|
-
else
|
|
102
|
-
Aos::Cor::BOOLS[:FALSE]
|
|
103
|
-
end
|
|
104
|
-
},
|
|
121
|
+
converter: Proc.new{|v| v.kind_of?(TrueClass) ? true : false},
|
|
105
122
|
validator: Proc.new{|unvalid, k, v|
|
|
106
|
-
|
|
107
|
-
|
|
123
|
+
Aro::Cor.def_valid?(k, v) &&
|
|
124
|
+
Aro::Cor.bool_valid?(unvalid)
|
|
108
125
|
}
|
|
109
126
|
},
|
|
110
127
|
INT: {
|
|
111
|
-
name:
|
|
128
|
+
name: Aro::Cor::TYPES[:INT],
|
|
112
129
|
description: I18n.t("cor.type.int_description"),
|
|
113
130
|
converter: Proc.new{|v| v.to_i},
|
|
114
131
|
validator: Proc.new{|unvalid, k, v|
|
|
115
|
-
Aro::V.say("validating #{k} (#{
|
|
132
|
+
Aro::V.say("validating #{k} (#{Aro::Cor::DEF_TYPES[:INT][:name]})")
|
|
116
133
|
Aro::V.say("unvalid = #{unvalid}")
|
|
117
|
-
Aro::V.say("[min, max]
|
|
118
|
-
int_valid =
|
|
119
|
-
|
|
120
|
-
unvalid.to_i >= v[:min]
|
|
134
|
+
Aro::V.say("[min, max] => [#{v[:min]}, #{v[:max]}]")
|
|
135
|
+
int_valid = Aro::Cor.def_valid?(k, v) &&
|
|
136
|
+
Aro::Cor.int_valid?(unvalid) &&
|
|
137
|
+
unvalid.to_i >= v[:min] &&
|
|
121
138
|
unvalid.to_i <= v[:max]
|
|
122
139
|
Aro::V.say("unvalid(#{unvalid}) is#{int_valid ? " " : :" not ".to_s}valid.")
|
|
123
140
|
int_valid
|
|
124
141
|
}
|
|
125
142
|
},
|
|
126
143
|
STRING: {
|
|
127
|
-
name:
|
|
144
|
+
name: Aro::Cor::TYPES[:STRING],
|
|
128
145
|
description: I18n.t("cor.type.string_description"),
|
|
129
146
|
converter: Proc.new{|v| v.to_s},
|
|
130
147
|
validator: Proc.new{|unvalid, k, v|
|
|
131
|
-
|
|
132
|
-
|
|
148
|
+
Aro::Cor.def_valid?(k, v) &&
|
|
149
|
+
Aro::Cor.string_valid?(unvalid)
|
|
133
150
|
}
|
|
134
151
|
},
|
|
135
152
|
VALUES: {
|
|
136
|
-
name:
|
|
153
|
+
name: Aro::Cor::TYPES[:VALUES],
|
|
137
154
|
description: I18n.t("cor.type.values_description"),
|
|
138
155
|
converter: Proc.new{|v| v.to_s},
|
|
139
156
|
validator: Proc.new{|unvalid, k, v|
|
|
140
|
-
|
|
157
|
+
Aro::Cor.def_valid?(k, v) &&
|
|
141
158
|
v[:possible_values].keys.include?(unvalid&.to_sym)
|
|
142
159
|
}
|
|
143
160
|
},
|
|
144
161
|
}
|
|
145
162
|
|
|
146
163
|
def self.bool_valid?(unvalid)
|
|
147
|
-
|
|
164
|
+
Aro::Cor::BOOLS.values.map{|b| b.to_s.to_sym}.include?(unvalid&.to_s&.to_sym)
|
|
148
165
|
end
|
|
149
166
|
|
|
150
167
|
def self.int_valid?(unvalid)
|
|
@@ -156,9 +173,9 @@ module Aos
|
|
|
156
173
|
end
|
|
157
174
|
|
|
158
175
|
def self.def_valid?(key, deff)
|
|
159
|
-
def_valid = deff ==
|
|
176
|
+
def_valid = deff == Aro::Cor::DEF[key]
|
|
160
177
|
unless def_valid
|
|
161
|
-
Aro::
|
|
178
|
+
Aro::P.say("invalid def! #{key} => #{deff}")
|
|
162
179
|
end
|
|
163
180
|
|
|
164
181
|
def_valid
|
|
@@ -166,10 +183,10 @@ module Aos
|
|
|
166
183
|
|
|
167
184
|
def validate_config
|
|
168
185
|
invalid_vars = []
|
|
169
|
-
|
|
170
|
-
is_valid = v[:access] ==
|
|
186
|
+
Aro::Cor::DEF.each{|k, v|
|
|
187
|
+
is_valid = v[:access] == Aro::Cor::DEF_ACCESS[:READ]
|
|
171
188
|
unless is_valid
|
|
172
|
-
is_valid = valid_var?(
|
|
189
|
+
is_valid = valid_var?(Aro::Cor.ivar(k), k, v)
|
|
173
190
|
end
|
|
174
191
|
invalid_vars << k unless is_valid
|
|
175
192
|
}
|
|
@@ -178,32 +195,31 @@ module Aos
|
|
|
178
195
|
|
|
179
196
|
def valid_var?(var_value, k, v)
|
|
180
197
|
Aro::V.say(v)
|
|
181
|
-
return true if v[:access] ==
|
|
198
|
+
return true if v[:access] == Aro::Cor::DEF_ACCESS[:READ]
|
|
182
199
|
|
|
183
|
-
|
|
200
|
+
Aro::Cor::DEF_TYPES[
|
|
184
201
|
v[:type].to_s.upcase.to_sym
|
|
185
202
|
][:validator].call(var_value, k, v)
|
|
186
203
|
end
|
|
187
204
|
|
|
188
205
|
def convert_var_for_def(k)
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
][:converter].call(ENV[
|
|
206
|
+
Aro::Cor::DEF_TYPES[
|
|
207
|
+
Aro::Cor::DEF[k][:type].upcase
|
|
208
|
+
][:converter].call(ENV[Aro::Cor.ivar_k(k)])
|
|
192
209
|
end
|
|
193
210
|
|
|
194
211
|
# adapts I18n translations to generate bash environment vars.
|
|
195
212
|
#
|
|
196
213
|
# example usage:
|
|
197
|
-
#
|
|
214
|
+
# Aro::Cor::DEF[:Z_MAX]
|
|
198
215
|
DEF = {
|
|
199
|
-
|
|
200
216
|
#
|
|
201
217
|
# => ivars
|
|
202
218
|
#
|
|
203
219
|
ENV: {
|
|
204
|
-
type:
|
|
205
|
-
access:
|
|
206
|
-
value:
|
|
220
|
+
type: Aro::Cor::TYPES[:VALUES],
|
|
221
|
+
access: Aro::Cor::DEF_ACCESS[:WRITE],
|
|
222
|
+
value: Aro::Cor::ENVS[:PRODUCTION],
|
|
207
223
|
description: I18n.t("cor.env.description"),
|
|
208
224
|
possible_values: {
|
|
209
225
|
development: I18n.t("cor.env.development_description"),
|
|
@@ -212,39 +228,31 @@ module Aos
|
|
|
212
228
|
}
|
|
213
229
|
},
|
|
214
230
|
VERBOSE: {
|
|
215
|
-
type:
|
|
216
|
-
access:
|
|
217
|
-
value:
|
|
231
|
+
type: Aro::Cor::TYPES[:BOOL],
|
|
232
|
+
access: Aro::Cor::DEF_ACCESS[:WRITE],
|
|
233
|
+
value: Aro::Cor::BOOLS[:FALSE],
|
|
218
234
|
description: I18n.t("cor.verbose_description"),
|
|
219
235
|
},
|
|
220
|
-
|
|
221
|
-
type:
|
|
222
|
-
access:
|
|
223
|
-
value:
|
|
224
|
-
description: I18n.t("cor.log_aos_db_description"),
|
|
225
|
-
},
|
|
226
|
-
LOG_ARO_DB: {
|
|
227
|
-
type: Aos::Cor::TYPES[:BOOL],
|
|
228
|
-
access: Aos::Cor::DEF_ACCESS[:WRITE],
|
|
229
|
-
value: Aos::Cor::BOOLS[:FALSE],
|
|
236
|
+
LOG_DATABASE: {
|
|
237
|
+
type: Aro::Cor::TYPES[:BOOL],
|
|
238
|
+
access: Aro::Cor::DEF_ACCESS[:WRITE],
|
|
239
|
+
value: Aro::Cor::BOOLS[:FALSE],
|
|
230
240
|
description: I18n.t("cor.log_aro_db_description"),
|
|
231
241
|
},
|
|
232
|
-
|
|
233
|
-
type:
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
description: I18n.t("cor.format.description"),
|
|
242
|
+
OSS_OM_HOME: {
|
|
243
|
+
type: Aro::Cor::TYPES[:STRING],
|
|
244
|
+
access: Aro::Cor::DEF_ACCESS[:WRITE],
|
|
245
|
+
value: nil,
|
|
246
|
+
description: I18n.t("cor.oss_om_home.description"),
|
|
238
247
|
possible_values: {
|
|
239
|
-
|
|
240
|
-
json: I18n.t("cor.format.json_description")
|
|
248
|
+
any_valid_path: I18n.t("cor.oss_om_home.any_valid_path_description"),
|
|
241
249
|
}
|
|
242
250
|
},
|
|
243
251
|
INTERFACE: {
|
|
244
|
-
type:
|
|
252
|
+
type: Aro::Cor::TYPES[:VALUES],
|
|
245
253
|
implemented: false,
|
|
246
|
-
access:
|
|
247
|
-
value:
|
|
254
|
+
access: Aro::Cor::DEF_ACCESS[:WRITE],
|
|
255
|
+
value: Aro::Cor::INTERFACES[:TERMINAL],
|
|
248
256
|
description: I18n.t("cor.interface.description"),
|
|
249
257
|
possible_values: {
|
|
250
258
|
terminal: I18n.t("cor.interface.terminal_description"),
|
|
@@ -252,9 +260,9 @@ module Aos
|
|
|
252
260
|
}
|
|
253
261
|
},
|
|
254
262
|
DIMENSION: {
|
|
255
|
-
type:
|
|
256
|
-
access:
|
|
257
|
-
value:
|
|
263
|
+
type: Aro::Cor::TYPES[:VALUES],
|
|
264
|
+
access: Aro::Cor::DEF_ACCESS[:WRITE],
|
|
265
|
+
value: Aro::Cor::DMS[:DEV_TAROT],
|
|
258
266
|
description: I18n.t("cor.dimension.description"),
|
|
259
267
|
possible_values: {
|
|
260
268
|
dev_tarot: I18n.t("cor.dimension.dev_tarot_description"),
|
|
@@ -262,8 +270,8 @@ module Aos
|
|
|
262
270
|
}
|
|
263
271
|
},
|
|
264
272
|
HEIGHT: {
|
|
265
|
-
type:
|
|
266
|
-
access:
|
|
273
|
+
type: Aro::Cor::TYPES[:INT],
|
|
274
|
+
access: Aro::Cor::DEF_ACCESS[:WRITE],
|
|
267
275
|
value: Aro::Mancy::NUMERALS[:XLII],
|
|
268
276
|
min: Aro::Mancy::NUMERALS[:I],
|
|
269
277
|
max: Aro::Mancy::NUMERALS[:MMXCVII],
|
|
@@ -274,8 +282,8 @@ module Aos
|
|
|
274
282
|
),
|
|
275
283
|
},
|
|
276
284
|
WIDTH: {
|
|
277
|
-
type:
|
|
278
|
-
access:
|
|
285
|
+
type: Aro::Cor::TYPES[:INT],
|
|
286
|
+
access: Aro::Cor::DEF_ACCESS[:WRITE],
|
|
279
287
|
value: Aro::Mancy::NUMERALS[:C] + Aro::Mancy::NUMERALS[:XXXVII] - Aro::Mancy::S,
|
|
280
288
|
min: Aro::Mancy::NUMERALS[:I],
|
|
281
289
|
max: Aro::Mancy::NUMERALS[:MMXCVII],
|
|
@@ -286,8 +294,8 @@ module Aos
|
|
|
286
294
|
),
|
|
287
295
|
},
|
|
288
296
|
Z: {
|
|
289
|
-
type:
|
|
290
|
-
access:
|
|
297
|
+
type: Aro::Cor::TYPES[:INT],
|
|
298
|
+
access: Aro::Cor::DEF_ACCESS[:WRITE],
|
|
291
299
|
value: Aro::Mancy::NUMERALS[:I],
|
|
292
300
|
min: Aro::Mancy::NUMERALS[:I],
|
|
293
301
|
max: Aro::Mancy::NUMERALS[:MMXCVII],
|
|
@@ -298,8 +306,8 @@ module Aos
|
|
|
298
306
|
),
|
|
299
307
|
},
|
|
300
308
|
Z_MAX: {
|
|
301
|
-
type:
|
|
302
|
-
access:
|
|
309
|
+
type: Aro::Cor::TYPES[:INT],
|
|
310
|
+
access: Aro::Cor::DEF_ACCESS[:WRITE],
|
|
303
311
|
value: Aro::Mancy::NUMERALS[:VII],
|
|
304
312
|
min: Aro::Mancy::NUMERALS[:I],
|
|
305
313
|
max: Aro::Mancy::NUMERALS[:XXII],
|
|
@@ -314,103 +322,94 @@ module Aos
|
|
|
314
322
|
# => ovars
|
|
315
323
|
#
|
|
316
324
|
O: {
|
|
317
|
-
type:
|
|
318
|
-
access:
|
|
325
|
+
type: Aro::Cor::TYPES[:INT],
|
|
326
|
+
access: Aro::Cor::DEF_ACCESS[:READ],
|
|
319
327
|
value: Aro::Mancy::O,
|
|
320
328
|
description: I18n.t("cor.aro_env.O_description"),
|
|
321
329
|
},
|
|
322
330
|
S: {
|
|
323
|
-
type:
|
|
324
|
-
access:
|
|
331
|
+
type: Aro::Cor::TYPES[:INT],
|
|
332
|
+
access: Aro::Cor::DEF_ACCESS[:READ],
|
|
325
333
|
value: Aro::Mancy::S,
|
|
326
334
|
description: I18n.t("cor.aro_env.S_description"),
|
|
327
335
|
},
|
|
328
336
|
OS: {
|
|
329
|
-
type:
|
|
330
|
-
access:
|
|
337
|
+
type: Aro::Cor::TYPES[:INT],
|
|
338
|
+
access: Aro::Cor::DEF_ACCESS[:READ],
|
|
331
339
|
value: Aro::Mancy::OS,
|
|
332
340
|
description: I18n.t("cor.aro_env.OS_description"),
|
|
333
341
|
},
|
|
334
342
|
E: {
|
|
335
|
-
type:
|
|
336
|
-
access:
|
|
343
|
+
type: Aro::Cor::TYPES[:INT],
|
|
344
|
+
access: Aro::Cor::DEF_ACCESS[:READ],
|
|
337
345
|
value: Aro::Mancy::E,
|
|
338
346
|
description: I18n.t("cor.aro_env.E_description"),
|
|
339
347
|
},
|
|
340
348
|
N: {
|
|
341
|
-
type:
|
|
342
|
-
access:
|
|
349
|
+
type: Aro::Cor::TYPES[:INT],
|
|
350
|
+
access: Aro::Cor::DEF_ACCESS[:READ],
|
|
343
351
|
value: Aro::Mancy::N,
|
|
344
352
|
description: I18n.t("cor.aro_env.N_description"),
|
|
345
353
|
},
|
|
346
|
-
PS1: {
|
|
347
|
-
type: Aos::Cor::TYPES[:STRING],
|
|
348
|
-
access: Aos::Cor::DEF_ACCESS[:READ],
|
|
349
|
-
value: Aro::Mancy::PS1,
|
|
350
|
-
description: I18n.t("cor.aro_env.PS1_description"),
|
|
351
|
-
},
|
|
352
354
|
NAME_FILE: {
|
|
353
|
-
type:
|
|
354
|
-
access:
|
|
355
|
+
type: Aro::Cor::TYPES[:STRING],
|
|
356
|
+
access: Aro::Cor::DEF_ACCESS[:READ],
|
|
355
357
|
value: Aro::Mancy::NAME_FILE,
|
|
356
358
|
description: I18n.t("cor.aro_env.NAME_FILE_description"),
|
|
357
359
|
},
|
|
358
360
|
I2097I: {
|
|
359
|
-
type:
|
|
360
|
-
access:
|
|
361
|
+
type: Aro::Cor::TYPES[:STRING],
|
|
362
|
+
access: Aro::Cor::DEF_ACCESS[:READ],
|
|
361
363
|
value: Aro::Mancy::I2097I,
|
|
362
364
|
description: I18n.t("cor.aro_env.I2097I_description"),
|
|
363
365
|
},
|
|
364
366
|
YES: {
|
|
365
|
-
type:
|
|
366
|
-
access:
|
|
367
|
+
type: Aro::Cor::TYPES[:STRING],
|
|
368
|
+
access: Aro::Cor::DEF_ACCESS[:READ],
|
|
367
369
|
value: Aro::Mancy::YES,
|
|
368
370
|
description: I18n.t("cor.aro_env.YES_description"),
|
|
369
371
|
},
|
|
370
372
|
ALL: {
|
|
371
|
-
type:
|
|
372
|
-
access:
|
|
373
|
+
type: Aro::Cor::TYPES[:STRING],
|
|
374
|
+
access: Aro::Cor::DEF_ACCESS[:READ],
|
|
373
375
|
value: Aro::Mancy::ALL,
|
|
374
376
|
description: I18n.t("cor.aro_env.ALL_description"),
|
|
375
377
|
},
|
|
376
378
|
}
|
|
377
379
|
|
|
378
|
-
def
|
|
379
|
-
self.cor_path = nil
|
|
380
|
+
def load_env
|
|
380
381
|
self.base_lines_def = nil
|
|
381
|
-
Aro::
|
|
382
|
-
return if Aos::Cor.get_cor_path.nil?
|
|
383
|
-
unless File.exist?(Aos::Cor.cor_filepath)
|
|
382
|
+
unless File.exist?(Aro::Cor.cor_filepath)
|
|
384
383
|
generate_config
|
|
385
384
|
end
|
|
386
385
|
|
|
387
386
|
source_config
|
|
388
|
-
Aro::D.say("running in #{
|
|
387
|
+
Aro::D.say("running in #{Aro::Cor.ivar(:ENV)} env.")
|
|
389
388
|
|
|
390
|
-
self.display_lines =
|
|
389
|
+
self.display_lines = Aro::Cor.base_lines
|
|
391
390
|
end
|
|
392
391
|
|
|
393
392
|
def self.base_lines(args = nil)
|
|
394
393
|
if self.instance.base_lines_def.nil? || args.present?
|
|
395
394
|
args = [] if args.nil?
|
|
396
|
-
# print
|
|
395
|
+
# print Aro::Cor::DEF
|
|
397
396
|
lines = []
|
|
398
|
-
lines << "loaded config at: #{
|
|
399
|
-
lines << "<
|
|
397
|
+
lines << "loaded config at: #{Aro::Cor.cor_filepath}"
|
|
398
|
+
lines << "<Aro::Cor::DEF>"
|
|
399
|
+
self.instance.use_less = false
|
|
400
400
|
case args[Aro::Mancy::S]&.to_sym
|
|
401
401
|
when :ivars
|
|
402
|
-
lines +=
|
|
402
|
+
lines += Aro::Cor.ivars_dump
|
|
403
403
|
when :ovars
|
|
404
|
-
lines +=
|
|
404
|
+
lines += Aro::Cor.ovars_dump
|
|
405
405
|
else
|
|
406
|
-
|
|
406
|
+
# print cor commands
|
|
407
|
+
self.instance.use_less = true
|
|
408
|
+
lines << ""
|
|
409
|
+
lines << I18n.t("constants.commands")
|
|
410
|
+
lines << ""
|
|
411
|
+
lines += Aro::Cmd.display_lines
|
|
407
412
|
end
|
|
408
|
-
# print config commands
|
|
409
|
-
lines << ""
|
|
410
|
-
lines << I18n.t("aos.constants.commands")
|
|
411
|
-
lines << ""
|
|
412
|
-
lines += Aos::Vw::Base.lines_for_cmd(Aos::Os::CMDS[:COR])
|
|
413
|
-
lines
|
|
414
413
|
|
|
415
414
|
self.instance.base_lines_def = lines
|
|
416
415
|
end
|
|
@@ -418,185 +417,150 @@ module Aos
|
|
|
418
417
|
return self.instance.base_lines_def
|
|
419
418
|
end
|
|
420
419
|
|
|
421
|
-
Mutex.new.synchronize do
|
|
422
|
-
def self.get_cor_path
|
|
423
|
-
if self.instance.cor_path.nil?
|
|
424
|
-
Aos::Db.load
|
|
425
|
-
if Aro::Dom.in_arodom?
|
|
426
|
-
Aos::Os.instance.load_you!
|
|
427
|
-
if Aos::Os.instance.you.root? ||
|
|
428
|
-
Aos::Os.instance.you.agodo?
|
|
429
|
-
self.instance.cor_path = Aos::Cor.dom_cor_path
|
|
430
|
-
else
|
|
431
|
-
self.instance.cor_path = Aos::Os.instance.you_flag.home
|
|
432
|
-
end
|
|
433
|
-
elsif Aro::Mancy.in_aro?
|
|
434
|
-
self.instance.cor_path = Aos::Cor.aro_cor_path
|
|
435
|
-
end
|
|
436
|
-
end
|
|
437
|
-
|
|
438
|
-
return self.instance.cor_path
|
|
439
|
-
end
|
|
440
|
-
end
|
|
441
|
-
|
|
442
|
-
def self.aro_cor_path
|
|
443
|
-
File.join(Dir.pwd, Aro::Db.base_aro_dir)
|
|
444
|
-
end
|
|
445
|
-
|
|
446
|
-
def self.dom_cor_path
|
|
447
|
-
File.join(Aro::Dom::dom_root, Aro::Dom.room_path(:cor))
|
|
448
|
-
end
|
|
449
|
-
|
|
450
420
|
def self.cor_filepath
|
|
451
421
|
File.join(
|
|
452
|
-
|
|
453
|
-
|
|
422
|
+
Aro::Mancy.root_dir,
|
|
423
|
+
Aro::Cor::COR_FILE.to_s
|
|
454
424
|
)
|
|
455
425
|
end
|
|
456
426
|
|
|
457
427
|
def self.is_test?
|
|
458
|
-
|
|
428
|
+
Aro::Cor.ivar(:ENV) == Aro::Cor::ENVS[:TEST].to_s
|
|
459
429
|
end
|
|
460
430
|
|
|
461
431
|
def self.discon
|
|
462
|
-
height =
|
|
463
|
-
width =
|
|
464
|
-
if !Aro::Dom.in_arodom? ||
|
|
465
|
-
Aos::Cor.ivar(:INTERFACE) == Aos::Cor::INTERFACES[:TERMINAL].to_s
|
|
466
|
-
# use console for terminal always
|
|
467
|
-
h_con, w_con = IO.console.winsize
|
|
468
|
-
height = h_con if h_con > 0
|
|
469
|
-
width = w_con if w_con > 0
|
|
470
|
-
end
|
|
432
|
+
height = Aro::Cor.ivar(:HEIGHT).to_i
|
|
433
|
+
width = Aro::Cor.ivar(:WIDTH).to_i
|
|
471
434
|
|
|
472
435
|
result = {
|
|
473
436
|
HEIGHT: height,
|
|
474
437
|
WIDTH: width,
|
|
475
438
|
DIVIDER: :".".to_s
|
|
476
439
|
}
|
|
477
|
-
# Aro::V.say(result)
|
|
478
440
|
|
|
479
441
|
result
|
|
480
442
|
end
|
|
481
443
|
|
|
482
|
-
def self.is_format_text?
|
|
483
|
-
Aos::Cor.ivar(:FORMAT)&.to_sym == Aos::Cor::FORMATS[:TEXT]
|
|
484
|
-
end
|
|
485
|
-
|
|
486
|
-
def self.process_command(args)
|
|
487
|
-
args = Aos::Os.sanitize_you(args)
|
|
488
|
-
k = Aos::Cor::DEF.keys.filter{|k| k == args[Aro::Mancy::S]&.upcase&.to_sym}&.first
|
|
489
|
-
unless k.nil?
|
|
490
|
-
unless args[Aro::Mancy::OS].nil?
|
|
491
|
-
# config var_name var_value
|
|
492
|
-
Aos::Cor.set_ivar(args[Aro::Mancy::S], args[Aro::Mancy::OS])
|
|
493
|
-
end
|
|
494
|
-
|
|
495
|
-
# basic show var description and value
|
|
496
|
-
self.instance.display_lines = self.instance.lines_var(k, Aos::Cor::DEF[k], ENV[Aos::Cor.ivar_k(k)])
|
|
497
|
-
else
|
|
498
|
-
self.instance.display_lines = Aos::Cor.base_lines(args)
|
|
499
|
-
end
|
|
500
|
-
|
|
501
|
-
if Aro::Mancy.in_aro? && !Aro::Dom.in_arodom?
|
|
502
|
-
Aro::P.say(self.instance.display_lines.join("\n"))
|
|
503
|
-
end
|
|
504
|
-
end
|
|
505
|
-
|
|
506
444
|
# out vars
|
|
507
445
|
def self.ovar(suffix)
|
|
508
|
-
|
|
446
|
+
Aro::Cor::DEF[suffix][:value]
|
|
509
447
|
end
|
|
510
448
|
# out vars
|
|
511
449
|
def self.ovar_k(suffix)
|
|
512
|
-
"#{
|
|
450
|
+
"#{Aro::Cor::ARO_OVA_PREFIX}#{suffix}"
|
|
513
451
|
end
|
|
514
452
|
|
|
515
453
|
# in vars
|
|
516
454
|
def self.ivar(suffix)
|
|
517
|
-
ENV[
|
|
455
|
+
ENV[Aro::Cor.ivar_k(suffix)]
|
|
518
456
|
end
|
|
519
457
|
# in vars
|
|
520
458
|
def self.ivar_k(suffix)
|
|
521
|
-
"#{
|
|
459
|
+
"#{Aro::Cor::ARO_IVA_PREFIX}#{suffix}"
|
|
460
|
+
end
|
|
461
|
+
|
|
462
|
+
def cor_set_ruby_env!(k, v)
|
|
463
|
+
k = k.strip.to_sym unless k.kind_of?(Symbol)
|
|
464
|
+
raise "attempt to set invalid def: #{k}=#{v}" if Aro::Cor::DEF[k].nil?
|
|
465
|
+
converted = v
|
|
466
|
+
converted = v.to_s if v.kind_of?(Symbol) ||
|
|
467
|
+
Aro::Cor::DEF[k][:type] == Aro::Cor::TYPES[:BOOL] ||
|
|
468
|
+
Aro::Cor::DEF[k][:type] == Aro::Cor::TYPES[:INT]
|
|
469
|
+
# set ruby ENV key value
|
|
470
|
+
# only write to ruby ENV from here
|
|
471
|
+
ENV[Aro::Cor.ivar_k(k.to_s)] = converted
|
|
472
|
+
Aro::P.say("#{k} set to #{converted}") unless converted.nil? || converted.empty?
|
|
473
|
+
return true
|
|
522
474
|
end
|
|
523
475
|
|
|
524
476
|
def self.set_ivar(k, new_value)
|
|
525
477
|
k = k.upcase.to_sym
|
|
526
478
|
|
|
527
|
-
current_value =
|
|
479
|
+
current_value = Aro::Cor.ivar(k)
|
|
528
480
|
if k == :DIMENSION &&
|
|
529
|
-
new_value ==
|
|
481
|
+
new_value == Aro::Cor::DMS[:DEV_TAROT].to_s &&
|
|
530
482
|
!Aro::T.is_dev_tarot_avail?
|
|
531
|
-
Aro::
|
|
483
|
+
Aro::P.say("unable to set dimension dev_tarot. device not present.")
|
|
532
484
|
return
|
|
485
|
+
elsif k == :OSS_OM_HOME
|
|
486
|
+
unless Dir.exist?(new_value)
|
|
487
|
+
Aro::P.say("cannot set #{k} to #{new_value}. the directory does not exist.")
|
|
488
|
+
end
|
|
489
|
+
|
|
490
|
+
if Aro::Cor.instance.valid_var?(new_value, k, Aro::Cor::DEF[k])
|
|
491
|
+
Aro::Cor.instance.cor_set_ruby_env!(k, new_value)
|
|
492
|
+
# flush existing config and regen
|
|
493
|
+
Aro::Cor.instance.generate_config(true)
|
|
494
|
+
Aro::Cor.instance.source_config
|
|
495
|
+
Aro::Db.configure_logger
|
|
496
|
+
return
|
|
497
|
+
end
|
|
533
498
|
end
|
|
534
499
|
|
|
535
500
|
# ensure the var name is valid
|
|
536
501
|
unless current_value.nil?
|
|
537
|
-
Aro::
|
|
538
|
-
if
|
|
539
|
-
|
|
540
|
-
ENV[Aos::Cor.ivar_k(k)] = new_value
|
|
541
|
-
Aro::Dom::P.say("#{k} set to #{new_value}")
|
|
542
|
-
Aro::V.say(ENV[Aos::Cor.ivar_k(k)])
|
|
543
|
-
|
|
502
|
+
Aro::P.say("validating #{k} with value #{new_value}")
|
|
503
|
+
if Aro::Cor.instance.valid_var?(new_value, k, Aro::Cor::DEF[k])
|
|
504
|
+
Aro::Cor.instance.cor_set_ruby_env!(k, new_value)
|
|
544
505
|
# flush existing config and regen
|
|
545
|
-
|
|
546
|
-
|
|
506
|
+
Aro::Cor.instance.generate_config(true)
|
|
507
|
+
Aro::Cor.instance.source_config
|
|
547
508
|
Aro::Db.configure_logger
|
|
548
|
-
Aos::Db.configure_logger
|
|
549
509
|
else
|
|
550
|
-
Aro::
|
|
510
|
+
Aro::P.say("the ivar value you entered is invalid. ignoring.")
|
|
551
511
|
end
|
|
552
512
|
else
|
|
553
|
-
Aro::
|
|
513
|
+
Aro::P.say("the ivar name you entered is invalid. ignoring.")
|
|
554
514
|
end
|
|
555
515
|
end
|
|
556
516
|
|
|
517
|
+
# todo: add_to_docs
|
|
557
518
|
def self.ivars_dump
|
|
558
519
|
dump = []
|
|
559
|
-
|
|
560
|
-
v[:access] ==
|
|
520
|
+
Aro::Cor::DEF.select{|k, v|
|
|
521
|
+
v[:access] == Aro::Cor::DEF_ACCESS[:WRITE]
|
|
561
522
|
}.each{|k, v|
|
|
562
|
-
dump << "#{
|
|
523
|
+
dump << "#{Aro::Cor.ivar_k(k).ljust(Aro::Mancy::NUMERALS[:XIV] * Aro::Mancy::OS)}=#{Aro::Cor.ivar(k)}"
|
|
563
524
|
}
|
|
564
525
|
|
|
565
526
|
dump
|
|
566
527
|
end
|
|
567
528
|
|
|
529
|
+
# todo: add_to_docs
|
|
568
530
|
def self.ovars_dump
|
|
569
531
|
dump = []
|
|
570
|
-
|
|
571
|
-
v[:access] ==
|
|
532
|
+
Aro::Cor::DEF.select{|k, v|
|
|
533
|
+
v[:access] == Aro::Cor::DEF_ACCESS[:READ]
|
|
572
534
|
}.each{|k, v|
|
|
573
|
-
dump << "#{
|
|
535
|
+
dump << "#{Aro::Cor.ovar_k(k).ljust(Aro::Mancy::NUMERALS[:XIV] * Aro::Mancy::OS)}=#{Aro::Cor.ovar(k)}"
|
|
574
536
|
}
|
|
575
537
|
|
|
576
538
|
dump
|
|
577
539
|
end
|
|
578
540
|
|
|
579
541
|
def source_config
|
|
580
|
-
Aro::D.say(I18n.t("cor.source", name:
|
|
581
|
-
File.read(
|
|
582
|
-
line.match?(/export #{
|
|
542
|
+
Aro::D.say(I18n.t("cor.source", name: Aro::Cor.cor_filepath))
|
|
543
|
+
File.read(Aro::Cor.cor_filepath).split("\n").select{|line|
|
|
544
|
+
line.match?(/export #{Aro::Cor::ARO_IVA_PREFIX}/)
|
|
583
545
|
}.map{|line|
|
|
584
546
|
line.gsub("export ", "").split("=")
|
|
585
547
|
}.each{|kv|
|
|
586
|
-
Aro::
|
|
587
|
-
|
|
588
|
-
Aro::
|
|
548
|
+
Aro::D.say("variable_to_set: #{kv}")
|
|
549
|
+
result = Aro::Cor.instance.cor_set_ruby_env!(kv[0].gsub(Aro::Cor::ARO_IVA_PREFIX.to_s, ""), kv[1])
|
|
550
|
+
Aro::D.say("value_was_set: #{result}")
|
|
589
551
|
}
|
|
590
552
|
|
|
591
553
|
invalid_defs = validate_config
|
|
592
|
-
|
|
593
|
-
|
|
554
|
+
Aro::Cor.ivars_dump.each{|l| Aro::V.say(l)}
|
|
555
|
+
Aro::Cor.ovars_dump.each{|l| Aro::V.say(l)}
|
|
594
556
|
invalid_defs.each{|k|
|
|
595
|
-
v =
|
|
596
|
-
if v[:access] ==
|
|
597
|
-
|
|
557
|
+
v = Aro::Cor::DEF[k.to_sym]
|
|
558
|
+
if v[:access] == Aro::Cor::DEF_ACCESS[:WRITE]
|
|
559
|
+
result = Aro::Cor.instance.cor_set_ruby_env!(k, v[:value])
|
|
560
|
+
Aro::D.say("invalid_def_defaulting_#{k}: #{result}")
|
|
598
561
|
else
|
|
599
|
-
|
|
562
|
+
result = Aro::Cor.instance.cor_set_ruby_env!(k, v[:value])
|
|
563
|
+
Aro::D.say("invalid_def_defaulting_#{k}: #{result}")
|
|
600
564
|
end
|
|
601
565
|
}
|
|
602
566
|
end
|
|
@@ -604,7 +568,7 @@ module Aos
|
|
|
604
568
|
# from_memory true means write current config to file
|
|
605
569
|
def generate_config(from_memory = false)
|
|
606
570
|
# todo: localize generated config text
|
|
607
|
-
Aro::D.say(I18n.t("cor.generate", name:
|
|
571
|
+
Aro::D.say(I18n.t("cor.generate", name: Aro::Cor.cor_filepath))
|
|
608
572
|
|
|
609
573
|
lines = []
|
|
610
574
|
|
|
@@ -641,8 +605,8 @@ module Aos
|
|
|
641
605
|
lines += lines_newline_comment_os
|
|
642
606
|
|
|
643
607
|
# vars
|
|
644
|
-
|
|
645
|
-
lines += lines_var(k, v, (from_memory ? ENV[
|
|
608
|
+
Aro::Cor::DEF.each{|k, v|
|
|
609
|
+
lines += lines_var(k, v, (from_memory ? ENV[Aro::Cor.ivar_k(k)] : nil))
|
|
646
610
|
}
|
|
647
611
|
|
|
648
612
|
lines += lines_newline_comment_os
|
|
@@ -663,18 +627,10 @@ module Aos
|
|
|
663
627
|
end
|
|
664
628
|
|
|
665
629
|
def write_config(lines)
|
|
666
|
-
|
|
667
|
-
File.open(to_write, "w") do |file|
|
|
630
|
+
File.open(Aro::Cor.cor_filepath, "w+") do |file|
|
|
668
631
|
file.write(lines.join("\n"))
|
|
669
632
|
file.write("\n")
|
|
670
633
|
end
|
|
671
|
-
|
|
672
|
-
# unless (to_write == Aos::Cor.aro_cor_path) && Aro::Mancy.in_aro?
|
|
673
|
-
# File.open(Aos::Cor.aro_cor_path, "w") do |file|
|
|
674
|
-
# file.write(lines.join("\n"))
|
|
675
|
-
# file.write("\n")
|
|
676
|
-
# end
|
|
677
|
-
# end
|
|
678
634
|
end
|
|
679
635
|
|
|
680
636
|
def lines_div
|
|
@@ -695,55 +651,55 @@ module Aos
|
|
|
695
651
|
|
|
696
652
|
def lines_config_header
|
|
697
653
|
[
|
|
698
|
-
"# #{
|
|
654
|
+
"# #{Aro::Mancy} cor configuration file generated by #{Aro::Cor.name}."
|
|
699
655
|
]
|
|
700
656
|
end
|
|
701
657
|
|
|
702
658
|
def lines_var_section_div
|
|
703
|
-
["#
|
|
659
|
+
["# Aro::Cor::DEF"]
|
|
704
660
|
end
|
|
705
661
|
|
|
706
662
|
def lines_def_type_description
|
|
707
663
|
lines = []
|
|
708
|
-
lines << "#
|
|
664
|
+
lines << "# Aro::Cor::DEF_TYPES"
|
|
709
665
|
lines << "# describes the possible types of variables."
|
|
710
|
-
|
|
666
|
+
Aro::Cor::DEF_TYPES.each{|k, v|
|
|
711
667
|
lines << "# #{k}: #{v[:description]}"
|
|
712
668
|
}
|
|
713
669
|
lines += lines_newline_comment_os
|
|
714
|
-
lines << "#
|
|
715
|
-
lines << "# define and expose an
|
|
716
|
-
lines << "# there are two types of cor vars in
|
|
670
|
+
lines << "# Aro::Cor::DEF"
|
|
671
|
+
lines << "# define and expose an aro cor bash api via ENV variables."
|
|
672
|
+
lines << "# there are two types of cor vars in aro."
|
|
717
673
|
lines << "# 1) in vars (ivars). "
|
|
718
674
|
lines << "# => write variables from this file."
|
|
719
675
|
lines << "# => they are validated and used unless unvalid."
|
|
720
676
|
lines << "# 2) out vars (ovars)."
|
|
721
|
-
lines << "# => read-only variables that
|
|
677
|
+
lines << "# => read-only variables that aro cor exposes to bash."
|
|
722
678
|
end
|
|
723
679
|
|
|
724
680
|
def lines_var(k, v, mem_v = nil)
|
|
725
|
-
lines = []
|
|
726
|
-
is_ovar =
|
|
681
|
+
lines = ["\n"]
|
|
682
|
+
is_ovar = Aro::Cor::DEF[k][:access] == Aro::Cor::DEF_ACCESS[:READ]
|
|
727
683
|
if is_ovar
|
|
728
|
-
var_name =
|
|
684
|
+
var_name = Aro::Cor.ovar_k(k)
|
|
729
685
|
else
|
|
730
|
-
var_name =
|
|
686
|
+
var_name = Aro::Cor.ivar_k(k)
|
|
731
687
|
end
|
|
732
|
-
Aro::V.say("access for #{k} is #{
|
|
688
|
+
Aro::V.say("access for #{k} is #{Aro::Cor::DEF[k][:access]}")
|
|
733
689
|
Aro::V.say("using var_name: #{var_name}")
|
|
734
690
|
lines << "# [#{var_name}] (#{is_ovar ? :ovar : :ivar})"
|
|
735
|
-
lines << "# =>
|
|
691
|
+
lines << "# => Aro::Cor::DEF_TYPES: #{v[:type]}"
|
|
736
692
|
case v[:type]
|
|
737
|
-
when
|
|
693
|
+
when Aro::Cor::DEF_TYPES[:BOOL][:name]
|
|
738
694
|
lines << "# => #{I18n.t("cor.type.bool_description")}"
|
|
739
|
-
when
|
|
695
|
+
when Aro::Cor::DEF_TYPES[:INT][:name]
|
|
740
696
|
lines << "# => #{I18n.t("cor.type.int_description")}"
|
|
741
697
|
lines << "# => #{I18n.t("cor.minimum")}: #{v[:min]}"
|
|
742
698
|
lines << "# => #{I18n.t("cor.maximum")}: #{v[:max]}"
|
|
743
|
-
when
|
|
699
|
+
when Aro::Cor::DEF_TYPES[:STRING][:name]
|
|
744
700
|
lines << "# => #{I18n.t("cor.type.string_description")}"
|
|
745
701
|
lines << "# => use \"double quotes\" if there are any spaces."
|
|
746
|
-
when
|
|
702
|
+
when Aro::Cor::DEF_TYPES[:VALUES][:name]
|
|
747
703
|
lines << "# => #{I18n.t("cor.type.values_description")}"
|
|
748
704
|
lines << "# => #{I18n.t("cor.possible_values")}:"
|
|
749
705
|
lines += lines_newline_comment
|
|
@@ -757,7 +713,7 @@ module Aos
|
|
|
757
713
|
lines += lines_newline_comment_os
|
|
758
714
|
lines << "# => description:"
|
|
759
715
|
lines << "# => #{v[:description]}"
|
|
760
|
-
if is_ovar &&
|
|
716
|
+
if is_ovar && Aro::Cor::DEF_TYPES[:STRING][:name] == v[:type]
|
|
761
717
|
lines << "export #{var_name}=\"#{v[:value]}\""
|
|
762
718
|
else
|
|
763
719
|
lines << "export #{var_name}=#{mem_v || v[:value]}"
|