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/locale/en.dom.yml
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
en:
|
|
2
|
-
dom:
|
|
3
|
-
wings:
|
|
4
|
-
welcome:
|
|
5
|
-
description: "sign up process."
|
|
6
|
-
games:
|
|
7
|
-
description: "game rooms."
|
|
8
|
-
home:
|
|
9
|
-
description: "user space."
|
|
10
|
-
know:
|
|
11
|
-
description: "information space."
|
|
12
|
-
root:
|
|
13
|
-
description: "aos root space."
|
|
14
|
-
rooms:
|
|
15
|
-
amg:
|
|
16
|
-
description: "aos package management."
|
|
17
|
-
waite:
|
|
18
|
-
description: "sign up."
|
|
19
|
-
winner:
|
|
20
|
-
description: "win."
|
|
21
|
-
abot:
|
|
22
|
-
description: "abot."
|
|
23
|
-
body:
|
|
24
|
-
description: "body."
|
|
25
|
-
mind:
|
|
26
|
-
description: "mind."
|
|
27
|
-
spirit:
|
|
28
|
-
description: "spirit."
|
|
29
|
-
cor:
|
|
30
|
-
description: "cor configuration."
|
|
31
|
-
flie:
|
|
32
|
-
description: "flie management."
|
|
33
|
-
errors:
|
|
34
|
-
directory_exists: "unable to create arodome at %{name}. file or directory already exists."
|
|
35
|
-
failed_already_in_arodom: "unable to create an arodome because you are already in arodom."
|
|
36
|
-
failed_already_initialized: "arodome is already initialized. doing nothing."
|
|
37
|
-
failed_in_aro_space: "unable to create an arodome inside of aro space."
|
|
38
|
-
messages:
|
|
39
|
-
arodome_created: "%{name} arodome created. enter the following commands to begin: $ cd %{name}"
|
|
40
|
-
creating_arodome: "creating arodome named %{name}"
|
|
41
|
-
generating_agodo_home: "generating agodo home for %{name}..."
|
|
42
|
-
generating_wings: "generating wings..."
|
|
43
|
-
generating_wing: "generating the %{wing} wing..."
|
|
44
|
-
generating_room: "generating the %{room} room."
|
|
45
|
-
initialization_complete: "%{name} initialization complete! use aos to begin."
|
|
46
|
-
missing_root_username: "missing var_root_username argument."
|
|
47
|
-
missing_root_password: "missing var_root_password argument."
|
data/locale/en.flie.yml
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
en:
|
|
2
|
-
flie:
|
|
3
|
-
commands:
|
|
4
|
-
description:
|
|
5
|
-
pxy: "manage flie proxies."
|
|
6
|
-
usage:
|
|
7
|
-
pxy: "$ flie pxy"
|
|
8
|
-
fpxies:
|
|
9
|
-
display: "%{you} cmd: %{cmd}"
|
|
10
|
-
messages:
|
|
11
|
-
derez_menu: "select fpxy for derez:"
|
|
12
|
-
fpxy_derez_success: "fpxy deleted successfully..."
|
|
13
|
-
main_menu: "editing %{name}'s fpxies. make a selection:"
|
|
14
|
-
pxy_starting: "flie pxy is starting..."
|
|
15
|
-
pxy_exited: "flie pxy exited."
|
|
16
|
-
enter_cmd: "enter fpxy exception command:"
|
|
17
|
-
enter_email: "enter email address for the you you want to manage:"
|
|
18
|
-
invalid_email: "that email address is invalid."
|
|
19
|
-
listing_fpxies: "listing fpxies..."
|
|
20
|
-
no_fpxies: "no fpxies."
|
|
21
|
-
usage: |
|
|
22
|
-
|
|
23
|
-
flie [-h | --help] var_command
|
|
24
|
-
flie management.
|
|
25
|
-
|
|
26
|
-
COMMANDS
|
|
27
|
-
|
|
28
|
-
pxy
|
|
29
|
-
manage flie fpxies.
|
data/locale/en.ino.yml
DELETED
data/sys/aos/abot.rb
DELETED
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
|
|
3
|
-
abot.rb
|
|
4
|
-
|
|
5
|
-
abot.
|
|
6
|
-
|
|
7
|
-
by i2097i
|
|
8
|
-
|
|
9
|
-
=end
|
|
10
|
-
|
|
11
|
-
module Aos
|
|
12
|
-
class Abot
|
|
13
|
-
include Singleton
|
|
14
|
-
|
|
15
|
-
attr_accessor :display_lines
|
|
16
|
-
|
|
17
|
-
AGODOS_DIR = :".agodos"
|
|
18
|
-
|
|
19
|
-
CMDS = {
|
|
20
|
-
AGODO: {
|
|
21
|
-
key: :agodo,
|
|
22
|
-
description: I18n.t("abot.commands.description.agodo"),
|
|
23
|
-
usage: I18n.t("abot.commands.usage.agodo"),
|
|
24
|
-
},
|
|
25
|
-
DEREZ: {
|
|
26
|
-
key: :derez,
|
|
27
|
-
description: I18n.t("abot.commands.description.derez"),
|
|
28
|
-
usage: I18n.t("abot.commands.usage.derez"),
|
|
29
|
-
},
|
|
30
|
-
RATE: {
|
|
31
|
-
key: :rate,
|
|
32
|
-
description: I18n.t("abot.commands.description.rate"),
|
|
33
|
-
usage: I18n.t("abot.commands.usage.rate"),
|
|
34
|
-
},
|
|
35
|
-
STOP: {
|
|
36
|
-
key: :stop,
|
|
37
|
-
description: I18n.t("abot.commands.description.stop"),
|
|
38
|
-
usage: I18n.t("abot.commands.usage.stop"),
|
|
39
|
-
},
|
|
40
|
-
START: {
|
|
41
|
-
key: :start,
|
|
42
|
-
description: I18n.t("abot.commands.description.start"),
|
|
43
|
-
usage: I18n.t("abot.commands.usage.start"),
|
|
44
|
-
},
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
def self.cron_pid_file
|
|
48
|
-
return "" if Aro::Dom.dom_root.nil? || Aro::Dom.room_path(:abot).nil?
|
|
49
|
-
File.join(Aro::Dom.dom_root, Aro::Dom.room_path(:abot), "abot.pid")
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def self.cron
|
|
53
|
-
Aos::Os.say("here")
|
|
54
|
-
return if File.exist?(Aos::Abot.cron_pid_file)
|
|
55
|
-
|
|
56
|
-
abot_pid = fork {
|
|
57
|
-
log = File.open(File.join(Aro::Dom.dom_root, Aro::Dom.room_path(:abot), "abot.log"), "w+")
|
|
58
|
-
STDOUT.reopen(log)
|
|
59
|
-
STDERR.reopen(log)
|
|
60
|
-
STDOUT.sync = true
|
|
61
|
-
loop do
|
|
62
|
-
Aos::Agodo.where(power: :on).each{|a|
|
|
63
|
-
a.godo
|
|
64
|
-
}
|
|
65
|
-
sleep(Aro::Mancy::S)
|
|
66
|
-
end
|
|
67
|
-
}
|
|
68
|
-
Process.detach(abot_pid)
|
|
69
|
-
File.open(Aos::Abot.cron_pid_file, "w+") do |f|
|
|
70
|
-
f.write(abot_pid)
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def self.terminate
|
|
75
|
-
if File.exist?(Aos::Abot.cron_pid_file)
|
|
76
|
-
system("kill -9 #{File.read(Aos::Abot.cron_pid_file)}")
|
|
77
|
-
FileUtils.rm(Aos::Abot.cron_pid_file)
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def self.process_cmd(args)
|
|
82
|
-
args = Aos::Os.sanitize_you(args)
|
|
83
|
-
if args[Aro::Mancy::S].nil? ||
|
|
84
|
-
CLI::FLAGS[:HELP].include?(args[Aro::Mancy::S].to_sym)
|
|
85
|
-
Aos::Abot.abot
|
|
86
|
-
return true
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
processed = false
|
|
90
|
-
# clear display
|
|
91
|
-
self.instance.display_lines = []
|
|
92
|
-
case args[Aro::Mancy::S].to_sym
|
|
93
|
-
when Aos::Abot::CMDS[:AGODO][:key]
|
|
94
|
-
Aos::Abot.agodo(args)
|
|
95
|
-
processed = true
|
|
96
|
-
when Aos::Abot::CMDS[:DEREZ][:key]
|
|
97
|
-
Aos::Abot.derez(args[Aro::Mancy::OS])
|
|
98
|
-
processed = true
|
|
99
|
-
when Aos::Abot::CMDS[:RATE][:key]
|
|
100
|
-
Aos::Abot.rate(args)
|
|
101
|
-
processed = true
|
|
102
|
-
when Aos::Abot::CMDS[:STOP][:key]
|
|
103
|
-
Aos::Abot.stop(args[Aro::Mancy::OS])
|
|
104
|
-
processed = true
|
|
105
|
-
when Aos::Abot::CMDS[:START][:key]
|
|
106
|
-
Aos::Abot.start(args[Aro::Mancy::OS])
|
|
107
|
-
processed = true
|
|
108
|
-
else
|
|
109
|
-
self.instance.display_lines = [I18n.t("abot.messages.invalid_agodo_cmd")]
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
return processed
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
def self.abot
|
|
116
|
-
self.instance.display_lines = Aos::Abot.base_lines
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
# create and list agodos
|
|
120
|
-
def self.agodo(args)
|
|
121
|
-
args = Aos::Os.sanitize_you(args)
|
|
122
|
-
if args[Aro::Mancy::OS].nil?
|
|
123
|
-
# list agodos
|
|
124
|
-
self.instance.display_lines = Aos::Abot.agodo_lines
|
|
125
|
-
return
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
if !args[Aro::Mancy::OS].nil? &&
|
|
129
|
-
!args[Aro::Mancy::E].nil? &&
|
|
130
|
-
!args[Aro::Mancy::N].nil?
|
|
131
|
-
# create mode
|
|
132
|
-
# abot agodo var_go var_do var_rate
|
|
133
|
-
arg_go = args[Aro::Mancy::OS]
|
|
134
|
-
arg_do = args[Aro::Mancy::E]
|
|
135
|
-
arg_rate = args[Aro::Mancy::N]
|
|
136
|
-
|
|
137
|
-
agodo_record = Aos::Agodo.new
|
|
138
|
-
agodo_record.go = arg_go
|
|
139
|
-
agodo_record.do = arg_do
|
|
140
|
-
agodo_record.rate = arg_rate
|
|
141
|
-
if agodo_record.save
|
|
142
|
-
self.instance.display_lines = ["successfully created an agodo named #{agodo_record.you.name}."] + Aos::Abot.agodo_lines
|
|
143
|
-
else
|
|
144
|
-
self.instance.display_lines = agodo_record.errors.to_a.map(&:downcase)
|
|
145
|
-
end
|
|
146
|
-
else
|
|
147
|
-
self.instance.display_lines = [I18n.t("abot.messages.invalid_agodo_cmd")]
|
|
148
|
-
end
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
# update agodo rate
|
|
152
|
-
def self.rate(args)
|
|
153
|
-
agodo_you = Aos::You.find_by(
|
|
154
|
-
name: args[Aro::Mancy::OS]&.strip&.upcase
|
|
155
|
-
)
|
|
156
|
-
|
|
157
|
-
if !agodo_you.nil? &&
|
|
158
|
-
Aos::Cor.int_valid?(args[Aro::Mancy::E]&.to_i)
|
|
159
|
-
agodo_record = agodo_you.agodo
|
|
160
|
-
agodo_record.update(rate: args[Aro::Mancy::E].to_i)
|
|
161
|
-
self.instance.display_lines = ["#{agodo_record.you.name} rate updated."] + Aos::Abot.agodo_lines
|
|
162
|
-
else
|
|
163
|
-
self.instance.display_lines = [I18n.t("abot.messages.invalid_agodo_cmd")]
|
|
164
|
-
end
|
|
165
|
-
end
|
|
166
|
-
|
|
167
|
-
# destroy an agodo
|
|
168
|
-
def self.derez(agodo_name)
|
|
169
|
-
n = agodo_name&.strip&.upcase
|
|
170
|
-
agodo_you = Aos::You.find_by(name: n)
|
|
171
|
-
unless agodo_you.nil?
|
|
172
|
-
lines = ["derezing #{agodo_you.name} agodo."]
|
|
173
|
-
agodo_record = agodo_you.agodo
|
|
174
|
-
agodo_record&.destroy
|
|
175
|
-
agodo_you.ilogs.destroy_all
|
|
176
|
-
agodo_you.destroy
|
|
177
|
-
requery = Aos::You.find_by(name: n)
|
|
178
|
-
if requery.nil? && requery&.agodo.nil?
|
|
179
|
-
lines << "successfully destroyed #{n} agodo."
|
|
180
|
-
else
|
|
181
|
-
lines << "unable to destroyed the #{n} agodo."
|
|
182
|
-
end
|
|
183
|
-
self.instance.display_lines = lines
|
|
184
|
-
else
|
|
185
|
-
self.instance.display_lines = [I18n.t("abot.messages.invalid_agodo_cmd")]
|
|
186
|
-
end
|
|
187
|
-
end
|
|
188
|
-
|
|
189
|
-
# power off an agodo
|
|
190
|
-
def self.stop(agodo_name)
|
|
191
|
-
agodo_you = Aos::You.find_by(
|
|
192
|
-
name: agodo_name&.strip&.upcase
|
|
193
|
-
)
|
|
194
|
-
unless agodo_you.nil?
|
|
195
|
-
agodo_record = agodo_you.agodo
|
|
196
|
-
agodo_record.update(power: :off)
|
|
197
|
-
self.instance.display_lines = ["#{agodo_record.you.name} stopped."] + Aos::Abot.agodo_lines
|
|
198
|
-
else
|
|
199
|
-
self.instance.display_lines = [I18n.t("abot.messages.invalid_agodo_cmd")]
|
|
200
|
-
end
|
|
201
|
-
end
|
|
202
|
-
|
|
203
|
-
# power on an agodo
|
|
204
|
-
def self.start(agodo_name)
|
|
205
|
-
agodo_you = Aos::You.find_by(
|
|
206
|
-
name: agodo_name&.strip&.upcase
|
|
207
|
-
)
|
|
208
|
-
unless agodo_you.nil?
|
|
209
|
-
agodo_record = agodo_you.agodo
|
|
210
|
-
agodo_record.update(power: :on)
|
|
211
|
-
|
|
212
|
-
self.instance.display_lines = ["#{agodo_record.you.name} started."] + Aos::Abot.agodo_lines
|
|
213
|
-
else
|
|
214
|
-
self.instance.display_lines = [I18n.t("abot.messages.invalid_agodo_cmd")]
|
|
215
|
-
end
|
|
216
|
-
end
|
|
217
|
-
|
|
218
|
-
# abot help
|
|
219
|
-
def self.base_lines
|
|
220
|
-
# print abot commands
|
|
221
|
-
lines = []
|
|
222
|
-
lines << ""
|
|
223
|
-
lines << I18n.t("aos.constants.commands")
|
|
224
|
-
lines += Aos::Vw::Base.lines_for_cmd(Aos::Os::CMDS[:ABOT])
|
|
225
|
-
lines << I18n.t("aos.constants.subcommands")
|
|
226
|
-
Aos::Abot::CMDS.keys.each{|k|
|
|
227
|
-
lines += Aos::Vw::Base.lines_for_cmd(Aos::Abot::CMDS[k])
|
|
228
|
-
}
|
|
229
|
-
lines << ""
|
|
230
|
-
|
|
231
|
-
lines
|
|
232
|
-
end
|
|
233
|
-
|
|
234
|
-
# show agodos
|
|
235
|
-
def self.agodo_lines(agodos = nil)
|
|
236
|
-
# list input agodos
|
|
237
|
-
lines = []
|
|
238
|
-
lines << ""
|
|
239
|
-
agodos ||= Aos::Agodo.all
|
|
240
|
-
unless agodos.any?
|
|
241
|
-
lines << I18n.t("abot.messages.no_agodos")
|
|
242
|
-
else
|
|
243
|
-
lines << I18n.t("abot.messages.listing_agodos")
|
|
244
|
-
agodos.each{|a|
|
|
245
|
-
lines += a.you.get_lines
|
|
246
|
-
lines += a.get_lines
|
|
247
|
-
}
|
|
248
|
-
end
|
|
249
|
-
lines << ""
|
|
250
|
-
|
|
251
|
-
lines
|
|
252
|
-
end
|
|
253
|
-
end
|
|
254
|
-
end
|
data/sys/aos/amg.rb
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
|
|
3
|
-
amg.rb
|
|
4
|
-
|
|
5
|
-
aos system management.
|
|
6
|
-
|
|
7
|
-
by i2097i
|
|
8
|
-
|
|
9
|
-
=end
|
|
10
|
-
|
|
11
|
-
module Aos
|
|
12
|
-
class Amg
|
|
13
|
-
include Singleton
|
|
14
|
-
|
|
15
|
-
attr_accessor :display_lines
|
|
16
|
-
|
|
17
|
-
CMDS = {
|
|
18
|
-
INST: {
|
|
19
|
-
key: :inst,
|
|
20
|
-
description: I18n.t("amg.commands.description.inst"),
|
|
21
|
-
usage: I18n.t("amg.commands.usage.inst"),
|
|
22
|
-
},
|
|
23
|
-
INSTUN: {
|
|
24
|
-
key: :instun,
|
|
25
|
-
description: I18n.t("amg.commands.description.instun"),
|
|
26
|
-
usage: I18n.t("amg.commands.usage.instun"),
|
|
27
|
-
},
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
def initialize
|
|
31
|
-
self.display_lines = Aos::Amg.base_lines
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def self.process_cmd(args)
|
|
35
|
-
self.instance.display_lines = []
|
|
36
|
-
if args[Aro::Mancy::S].nil? ||
|
|
37
|
-
CLI::FLAGS[:HELP].include?(args[Aro::Mancy::S].to_sym)
|
|
38
|
-
Aos::Amg.amg
|
|
39
|
-
return true
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
case args[Aro::Mancy::S].to_sym
|
|
43
|
-
when Aos::Amg::CMDS[:INST][:key]
|
|
44
|
-
unless args[Aro::Mancy::OS].nil?
|
|
45
|
-
ilib_name = args[Aro::Mancy::OS]
|
|
46
|
-
ilib = Aos::Ilib.find_by(name: ilib_name)
|
|
47
|
-
unless ilib.nil?
|
|
48
|
-
if ilib.installed?
|
|
49
|
-
self.instance.display_lines << I18n.t("amg.messages.already_installed", name: ilib_name)
|
|
50
|
-
else
|
|
51
|
-
Aos::Amg.install(ilib)
|
|
52
|
-
if ilib.reload.installed?
|
|
53
|
-
self.instance.display_lines << I18n.t("amg.messages.install_success", name: ilib_name)
|
|
54
|
-
self.instance.display_lines += self.inst_lines
|
|
55
|
-
return true
|
|
56
|
-
else
|
|
57
|
-
self.instance.display_lines << I18n.t("amg.messages.install_failure", name: ilib_name)
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
else
|
|
61
|
-
self.instance.display_lines << I18n.t("amg.messages.cannot_locate", name: ilib_name)
|
|
62
|
-
end
|
|
63
|
-
else
|
|
64
|
-
# list installed ilibs
|
|
65
|
-
Aos::Amg.inst
|
|
66
|
-
return true
|
|
67
|
-
end
|
|
68
|
-
when Aos::Amg::CMDS[:INSTUN][:key]
|
|
69
|
-
unless args[Aro::Mancy::OS].nil?
|
|
70
|
-
ilib_name = args[Aro::Mancy::OS]
|
|
71
|
-
ilib = Aos::Ilib.find_by(name: ilib_name)
|
|
72
|
-
unless ilib.nil?
|
|
73
|
-
if ilib.available?
|
|
74
|
-
self.instance.display_lines << I18n.t("amg.messages.not_installed", name: ilib_name)
|
|
75
|
-
else
|
|
76
|
-
Aos::Amg.uninstall(ilib)
|
|
77
|
-
if ilib.reload.available?
|
|
78
|
-
self.instance.display_lines << I18n.t("amg.messages.uninstall_success", name: ilib_name)
|
|
79
|
-
self.instance.display_lines += self.instun_lines
|
|
80
|
-
return true
|
|
81
|
-
else
|
|
82
|
-
self.instance.display_lines << I18n.t("amg.messages.uninstall_failure", name: ilib_name)
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
else
|
|
86
|
-
self.instance.display_lines << I18n.t("amg.messages.cannot_locate", name: ilib_name)
|
|
87
|
-
end
|
|
88
|
-
else
|
|
89
|
-
# list available ilibs
|
|
90
|
-
Aos::Amg.instun
|
|
91
|
-
return true
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
return false
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
def self.load(ilib_name)
|
|
99
|
-
Aos::Ilib.find_or_create_by(name: ilib_name)
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
def self.install(ilib)
|
|
103
|
-
return unless ilib.kind_of?(Aos::Ilib)
|
|
104
|
-
ilib.installed!
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
def self.uninstall(ilib)
|
|
108
|
-
return unless ilib.kind_of?(Aos::Ilib)
|
|
109
|
-
ilib.available!
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
def self.inst
|
|
113
|
-
self.instance.display_lines = Aos::Amg.inst_lines
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
def self.instun
|
|
117
|
-
self.instance.display_lines = Aos::Amg.instun_lines
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
def self.amg
|
|
121
|
-
self.instance.display_lines = Aos::Amg.base_lines
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
def self.base_lines
|
|
125
|
-
# print amg commands
|
|
126
|
-
lines = []
|
|
127
|
-
lines << ""
|
|
128
|
-
lines << I18n.t("aos.constants.commands")
|
|
129
|
-
lines += Aos::Vw::Base.lines_for_cmd(Aos::Os::CMDS[:AMG])
|
|
130
|
-
lines << I18n.t("aos.constants.subcommands")
|
|
131
|
-
Aos::Amg::CMDS.keys.each{|k|
|
|
132
|
-
lines += Aos::Vw::Base.lines_for_cmd(Aos::Amg::CMDS[k])
|
|
133
|
-
}
|
|
134
|
-
lines << ""
|
|
135
|
-
|
|
136
|
-
lines
|
|
137
|
-
end
|
|
138
|
-
|
|
139
|
-
def self.inst_lines
|
|
140
|
-
# list installed ilibs
|
|
141
|
-
lines = []
|
|
142
|
-
lines << ""
|
|
143
|
-
installed_ilibs = Aos::Ilib.where(status: :installed)
|
|
144
|
-
unless installed_ilibs.any?
|
|
145
|
-
lines << I18n.t("amg.messages.none_installed")
|
|
146
|
-
else
|
|
147
|
-
lines << I18n.t("amg.messages.listing_installed")
|
|
148
|
-
lines += Aos::Amg.ilib_lines(installed_ilibs)
|
|
149
|
-
end
|
|
150
|
-
lines << ""
|
|
151
|
-
|
|
152
|
-
lines
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
def self.instun_lines
|
|
156
|
-
# list installed ilibs
|
|
157
|
-
lines = []
|
|
158
|
-
lines << ""
|
|
159
|
-
available_ilibs = Aos::Ilib.where(status: :available)
|
|
160
|
-
unless available_ilibs.any?
|
|
161
|
-
lines << I18n.t("amg.messages.none_available")
|
|
162
|
-
else
|
|
163
|
-
lines << I18n.t("amg.messages.listing_available")
|
|
164
|
-
lines += Aos::Amg.ilib_lines(available_ilibs)
|
|
165
|
-
end
|
|
166
|
-
lines << ""
|
|
167
|
-
|
|
168
|
-
lines
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
def self.ilib_lines(ilibs)
|
|
172
|
-
lines = []
|
|
173
|
-
ilibs.each_with_index{|ilib, i|
|
|
174
|
-
lines << "[#{i + Aro::Mancy::S} of #{ilibs.count}]"
|
|
175
|
-
lines << I18n.t("amg.messages.ilib_name", name: ilib.name)
|
|
176
|
-
lines << I18n.t("amg.messages.ilib_path", path: ilib.so_path.split("/").last(Aro::Mancy::N).join("/"))
|
|
177
|
-
lines << I18n.t("amg.messages.ilib_usage", usage: ilib.usage)
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
lines
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
end
|
|
184
|
-
end
|