aro 0.2.6 → 0.2.7
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/Gemfile.lock +5 -2
- data/README.md +10 -54
- data/aro.gemspec +2 -1
- data/bin/oss_om +2 -0
- data/checksums/aro-0.2.7.gem.sha512 +1 -0
- data/listen.rb +1 -1
- data/locale/en.cor.yml +21 -32
- data/locale/en.yml +8 -60
- data/sys/aro/action.rb +153 -0
- data/sys/aro/d.rb +3 -1
- data/sys/aro/db/migrate/1793913747_create_data_bases.rb +2 -0
- data/sys/aro/db/migrate/1793913777_create_data_base_directories.rb +2 -0
- data/sys/aro/db/migrate/1793913796_create_data_base_files.rb +2 -0
- data/sys/aro/db/migrate/1793913841_create_menus.rb +2 -0
- data/sys/aro/db/migrate/1793913861_create_menu_items.rb +3 -2
- data/sys/aro/db.rb +19 -33
- data/sys/aro/designer.rb +166 -97
- data/sys/aro/locale.rb +4 -2
- data/sys/aro/mancy.rb +6 -39
- data/sys/aro/models/concerns/tar_go_for_root_sec.rb +37 -0
- data/sys/aro/models/concerns/uuid.rb +2 -0
- data/sys/aro/models/data_base.rb +33 -8
- data/sys/aro/models/directory.rb +2 -0
- data/sys/aro/models/file.rb +3 -1
- data/sys/aro/models/menu.rb +64 -0
- data/sys/aro/models/menu_item.rb +70 -4
- data/sys/aro/oss_open_menu.rb +331 -0
- data/sys/aro/p.rb +15 -9
- data/sys/aro/r.rb +2 -0
- data/sys/aro/{cor.rb → settings/cor.rb} +91 -215
- data/sys/aro/settings/git.rb +69 -0
- data/sys/aro/settings/ssh.rb +123 -0
- data/sys/aro/store.rb +87 -36
- data/sys/aro/v.rb +2 -0
- data/sys/aro.rb +2 -0
- data/sys/ma_ain.rb +202 -0
- data/sys/reiquire.rb +41 -54
- data/sys/shr/prompt.rb +6 -1
- data/sys/shr/version.rb +7 -8
- metadata +31 -23
- data/locale/en.cards.yml +0 -519
- data/locale/en.cmd.yml +0 -34
- data/locale/en.usage.yml +0 -142
- data/sys/aro/cmd.rb +0 -96
- data/sys/aro/db/migrate/1763374647_create_tecks.rb +0 -20
- data/sys/aro/db/migrate/1763432541_create_tlogs.rb +0 -20
- data/sys/aro/ma_ain.rb +0 -54
- data/sys/aro/models/teck.rb +0 -251
- data/sys/aro/models/tlog.rb +0 -21
- data/sys/aro/views/base.rb +0 -25
- data/sys/aro/views/teck.rb +0 -30
- data/sys/cli/constants.rb +0 -45
- data/sys/cli/create.rb +0 -23
- data/sys/cli/nterface.rb +0 -37
- data/sys/cli/teck.rb +0 -107
- data/sys/cli/usage.rb +0 -25
- data/sys/cli.rb +0 -23
- data/sys/shr/t.rb +0 -74
data/sys/aro/store.rb
CHANGED
|
@@ -32,22 +32,70 @@ class Aro::Dom::Store
|
|
|
32
32
|
def self.edit(aro_file, updates)
|
|
33
33
|
return if aro_file.nil?
|
|
34
34
|
unless ::File.exist?(aro_file.aro_file_path)
|
|
35
|
-
::File.write(aro_file.aro_file_path,
|
|
35
|
+
::File.write(aro_file.aro_file_path, {}.to_json)
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
Aro::Dom::Ma_ain.i2097i_bookmark
|
|
39
|
+
puts :todo_validate_updates_or_depricate
|
|
40
|
+
puts __method__
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
store_instance = Aro::Dom::Ma_ain.instance.get_store_for(aro_file)
|
|
44
|
+
updates.each{|k, v|
|
|
45
|
+
|
|
46
|
+
store_instance.save_key_value_pair(k, v)
|
|
47
|
+
Aro::P.say([
|
|
48
|
+
"reading in #{k} after setting to #{v} in #{aro_file.aro_file_path}",
|
|
49
|
+
"got value => #{store_instance.safe_get_key(k)}"
|
|
50
|
+
])
|
|
51
|
+
}
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def save_key_value_pair(k, v)
|
|
55
|
+
set_key(k, v)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def save_exec_oss_om_params!(oss_om_const, oss_om_method, label)
|
|
59
|
+
Aro::P.say(__method__)
|
|
39
60
|
Aro::Dom::Ma_ain.instance.store_mutex.synchronize do
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
61
|
+
built = self.class.build_exec_oss_om_params!(oss_om_const, oss_om_method, label)
|
|
62
|
+
built.each{|k, v| self.set_key(k, v)}
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def self.build_exec_oss_om_params!(oss_om_const, oss_om_method, label)
|
|
67
|
+
Aro::P.say(__method__)
|
|
68
|
+
# {
|
|
69
|
+
# action_name:,
|
|
70
|
+
# action_key: Aro::Dom::Action::TYPES[:OSS_OM][:key],
|
|
71
|
+
# action_params: {
|
|
72
|
+
# aro_class_name:,
|
|
73
|
+
# aro_class_method:
|
|
74
|
+
# }
|
|
75
|
+
# }
|
|
76
|
+
raise "invalid oss_om_const!" unless Aro::Dom::Oss_OpenMenu::EXEC_CLASSES.include?(oss_om_const.name)
|
|
77
|
+
raise "invalid oss_om_method! #{oss_om_method}" unless oss_om_const.methods.include?(oss_om_method.to_sym)
|
|
78
|
+
{
|
|
79
|
+
action_name: label,
|
|
80
|
+
action_key: :exec_oss_om,
|
|
81
|
+
action_params: {
|
|
82
|
+
aro_class_name: oss_om_const.name,
|
|
83
|
+
aro_class_method: oss_om_method
|
|
47
84
|
}
|
|
85
|
+
}
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def safe_get_key(k)
|
|
89
|
+
safe_key = nil
|
|
90
|
+
Aro::Dom::Ma_ain.instance.store_mutex.synchronize do
|
|
91
|
+
safe_key = get_key(k)
|
|
48
92
|
end
|
|
93
|
+
|
|
94
|
+
safe_key
|
|
49
95
|
end
|
|
50
96
|
|
|
97
|
+
private
|
|
98
|
+
|
|
51
99
|
def get_key(key)
|
|
52
100
|
return if open_file_path.nil?
|
|
53
101
|
|
|
@@ -62,20 +110,19 @@ class Aro::Dom::Store
|
|
|
62
110
|
# open storage
|
|
63
111
|
@is_open = true
|
|
64
112
|
storage_contents = {}
|
|
65
|
-
|
|
113
|
+
@parser_error = Aro::Dom::Ssh.decrypt_file!(open_file_path)
|
|
114
|
+
unless @parser_error.kind_of?(StandardError) ||
|
|
115
|
+
StandardError.subclasses.include?(@parser_error.class)
|
|
116
|
+
|
|
117
|
+
# return value from Aro::Dom::Ssh.decrypt_file!
|
|
118
|
+
# is not an error.
|
|
119
|
+
storage_contents = @parser_error
|
|
66
120
|
@parser_error = nil
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
)
|
|
71
|
-
rescue StandardError => e
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
unless @parser_error.nil?
|
|
72
124
|
@is_open = false
|
|
73
|
-
|
|
74
|
-
@parser_error = e
|
|
75
|
-
return get_key(key)
|
|
76
|
-
else
|
|
77
|
-
raise @parser_error
|
|
78
|
-
end
|
|
125
|
+
raise @parser_error
|
|
79
126
|
end
|
|
80
127
|
|
|
81
128
|
# only update the cache value if present in storage
|
|
@@ -106,25 +153,25 @@ class Aro::Dom::Store
|
|
|
106
153
|
|
|
107
154
|
# return if storage open
|
|
108
155
|
# non-persisted cache values update next cycle
|
|
109
|
-
return if @is_open
|
|
156
|
+
return true if @is_open
|
|
110
157
|
|
|
111
158
|
# open storage
|
|
112
159
|
@is_open = true
|
|
113
160
|
storage_contents = {}
|
|
114
|
-
|
|
161
|
+
|
|
162
|
+
@parser_error = Aro::Dom::Ssh.decrypt_file!(open_file_path)
|
|
163
|
+
unless @parser_error.kind_of?(StandardError) ||
|
|
164
|
+
StandardError.subclasses.include?(@parser_error.class)
|
|
165
|
+
|
|
166
|
+
# return value from Aro::Dom::Ssh.decrypt_file!
|
|
167
|
+
# is not an error.
|
|
168
|
+
storage_contents = @parser_error
|
|
115
169
|
@parser_error = nil
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
)
|
|
120
|
-
rescue StandardError => e
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
unless @parser_error.nil?
|
|
121
173
|
@is_open = false
|
|
122
|
-
|
|
123
|
-
@parser_error = e
|
|
124
|
-
return get_key(key)
|
|
125
|
-
else
|
|
126
|
-
raise @parser_error
|
|
127
|
-
end
|
|
174
|
+
raise @parser_error
|
|
128
175
|
end
|
|
129
176
|
|
|
130
177
|
# update storage and cache
|
|
@@ -136,12 +183,16 @@ class Aro::Dom::Store
|
|
|
136
183
|
}
|
|
137
184
|
|
|
138
185
|
# write storage
|
|
139
|
-
::
|
|
140
|
-
|
|
186
|
+
write_result = Aro::Dom::Ssh.write_encrypted_file!(open_file_path, storage_contents.to_json)
|
|
187
|
+
unless write_result == true
|
|
188
|
+
@is_open = false
|
|
189
|
+
raise write_result
|
|
141
190
|
end
|
|
142
191
|
|
|
143
192
|
# close storage
|
|
144
193
|
@is_open = false
|
|
145
194
|
clear_cache! if @clear_flag
|
|
195
|
+
|
|
196
|
+
write_result
|
|
146
197
|
end
|
|
147
198
|
end
|
data/sys/aro/v.rb
CHANGED
data/sys/aro.rb
CHANGED
data/sys/ma_ain.rb
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
=begin
|
|
4
|
+
|
|
5
|
+
ma_ain.rb
|
|
6
|
+
|
|
7
|
+
aro dom ma_ain.
|
|
8
|
+
|
|
9
|
+
by i2097i
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
module Aro
|
|
14
|
+
module Dom
|
|
15
|
+
class Ma_ain < Aro::Mancy
|
|
16
|
+
# inherits Singleton
|
|
17
|
+
|
|
18
|
+
# evolution planning
|
|
19
|
+
#
|
|
20
|
+
# Cor (copy of Aro::Cor)
|
|
21
|
+
# Engine
|
|
22
|
+
# Designer
|
|
23
|
+
# Git
|
|
24
|
+
# Ssh
|
|
25
|
+
# Block (copy of Aro::Dom::DataBase)
|
|
26
|
+
# Chain (copy of Aro::Dom::Directory)
|
|
27
|
+
# Node (copy of Aro::Dom::File)
|
|
28
|
+
# List (copy of Aro::Dom::Menu)
|
|
29
|
+
# ListItem (copy of Aro::Dom::MenuItem)
|
|
30
|
+
#
|
|
31
|
+
#
|
|
32
|
+
|
|
33
|
+
EXEC_METHODS = [
|
|
34
|
+
:exec_browse_data_bases!,
|
|
35
|
+
:exec_settings!,
|
|
36
|
+
:exec_quit!
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
RUN_MODES = [
|
|
40
|
+
:design,
|
|
41
|
+
:run
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
UNICODE_KEYS = {
|
|
45
|
+
bang: "\u0021",
|
|
46
|
+
check: "\u2713",
|
|
47
|
+
close: "\u2A2F",
|
|
48
|
+
integral: "\u222B",
|
|
49
|
+
secure: "\u266F",
|
|
50
|
+
unsecure: "\u266D",
|
|
51
|
+
yinyang: "\u262F",
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
attr_accessor :current_menu, :previous_menu
|
|
55
|
+
attr_accessor :data_mutex, :store_mutex
|
|
56
|
+
attr_accessor :stores
|
|
57
|
+
# todo: unused currently. init instance with hashing algo stuff
|
|
58
|
+
attr_accessor :valid_settings
|
|
59
|
+
attr_accessor :run_mode
|
|
60
|
+
|
|
61
|
+
def reign!
|
|
62
|
+
begin
|
|
63
|
+
# default mode is :run
|
|
64
|
+
self.run_mode = Aro::Mancy::S
|
|
65
|
+
Aro::P.say("Aro::Dom::Oss_OpenMenu.install!")
|
|
66
|
+
if Aro::Dom::Oss_OpenMenu.install!
|
|
67
|
+
Aro::P.say("Aro::Dom::Oss_OpenMenu.boot!")
|
|
68
|
+
Aro::Dom::Oss_OpenMenu.boot!
|
|
69
|
+
else
|
|
70
|
+
Aro::P.say("installation failed. exiting now...")
|
|
71
|
+
exit
|
|
72
|
+
end
|
|
73
|
+
Aro::P.say("Aro::Dom::Designer.design")
|
|
74
|
+
Aro::Dom::Designer.design
|
|
75
|
+
rescue RuntimeError => e
|
|
76
|
+
|
|
77
|
+
Aro::P.say("#{e.class}! #{e.inspect}")
|
|
78
|
+
self.class.i2097i_bookmark
|
|
79
|
+
reign!
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def initialize
|
|
84
|
+
self.data_mutex = Mutex.new
|
|
85
|
+
self.store_mutex = Mutex.new
|
|
86
|
+
|
|
87
|
+
@stores = {}
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def self.i2097i_bookmark
|
|
91
|
+
return
|
|
92
|
+
Aro::P.less("\n#{UNICODE_KEYS[:bang] * Aro::Mancy::OS} <breakpoint> #{self.name}\n\n" +
|
|
93
|
+
Thread.current.backtrace[1..].reverse.map{|l|
|
|
94
|
+
l.gsub("#{Reiquire.gem_dir}", "").gsub(Aro::Mancy.root_dir, "")
|
|
95
|
+
}.last(Aro::Mancy::V).join("\n")
|
|
96
|
+
)
|
|
97
|
+
puts __method__
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def self.init!
|
|
101
|
+
root_dir_path = Aro::Cor.ivar(:OSS_OM_HOME)
|
|
102
|
+
return false if root_dir_path.nil? || !Dir.exist?(root_dir_path)
|
|
103
|
+
Aro::P.say("#{self.name} initializing in #{root_dir_path}")
|
|
104
|
+
Aro::Mancy.init(root_dir_path)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def self.is_encrypted?
|
|
108
|
+
!Aro::Cor.ivar(:oss_om_ssh_key).nil? &&
|
|
109
|
+
!self.instance.valid_settings.nil?
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def self.domain
|
|
113
|
+
self.instance.current_menu.nil? ? super : "#{Aro::Mancy.aro_mancy_name}#{Aro::Mancy::A}#{Aro::Dom::Ma_ain}"
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def self.mini_hud_for(display_text = nil)
|
|
117
|
+
cryption_text = UNICODE_KEYS[
|
|
118
|
+
is_encrypted? ? :secure : :unsecure
|
|
119
|
+
] + UNICODE_KEYS[:bang]
|
|
120
|
+
|
|
121
|
+
if is_encrypted?
|
|
122
|
+
cryption_text = "#{UNICODE_KEYS[:secure]}#{UNICODE_KEYS[:bang]}"
|
|
123
|
+
else
|
|
124
|
+
cryption_text = "#{UNICODE_KEYS[:unsecure]}#{UNICODE_KEYS[:bang]}"
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
mode_text = RUN_MODES[self.instance.run_mode || Aro::Mancy::O]
|
|
128
|
+
[
|
|
129
|
+
"(#{cryption_text})[#{mode_text}: ",
|
|
130
|
+
display_text
|
|
131
|
+
].join("")
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def self.ps1_display(cls_name = nil)
|
|
135
|
+
super(domain)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def self.open!(data_base = :ma_ain)
|
|
139
|
+
Aro::P.say("Aro::Dom::DataBase.open_menu(#{data_base})")
|
|
140
|
+
staged_menu = nil
|
|
141
|
+
begin
|
|
142
|
+
staged_menu = Aro::Dom::DataBase.open_menu(data_base)
|
|
143
|
+
rescue StandardError => e
|
|
144
|
+
raise "#{self.name} error opening data_base #{data_base}! #{e.inspect}"
|
|
145
|
+
end
|
|
146
|
+
self.instance.previous_menu = self.instance.current_menu
|
|
147
|
+
self.instance.current_menu = staged_menu
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
def self.back!
|
|
151
|
+
self.instance.current_menu = nil
|
|
152
|
+
open!
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
def self.toggle_run_mode
|
|
156
|
+
self.instance.run_mode = self.instance.run_mode == 0 ? 1 : 0
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
def self.running?
|
|
160
|
+
RUN_MODES[self.instance.run_mode || Aro::Mancy::O] == :run
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def self.get_current_options
|
|
164
|
+
options = []
|
|
165
|
+
|
|
166
|
+
options << {back: :back, value: :back} unless self.instance.previous_menu.nil?
|
|
167
|
+
|
|
168
|
+
options << {name: "#{UNICODE_KEYS[:integral]}(#{Aro::Mancy::ARO_DIRECTORY})", value: :open_menu}
|
|
169
|
+
|
|
170
|
+
options += self.instance.current_menu.menu_items.select{|mi| mi.user?}.map{|mi| mi.as_tty}
|
|
171
|
+
options += self.instance.current_menu.menu_items.select{|mi| mi.system?}.map{|mi| mi.as_tty}
|
|
172
|
+
|
|
173
|
+
options
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
def self.exec_browse_data_bases!
|
|
177
|
+
Aro::Dom::Ma_ain.open!(:browse_data_bases)
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
def self.exec_settings!
|
|
181
|
+
Aro::Dom::Ma_ain.open!(:settings)
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def self.exec_quit!
|
|
185
|
+
exit
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
def get_store_for(aro_file)
|
|
189
|
+
raise "invalid aro_file!" if aro_file.nil?
|
|
190
|
+
|
|
191
|
+
if @stores[aro_file.uuid].nil?
|
|
192
|
+
new_store = Aro::Dom::Store.new
|
|
193
|
+
new_store.open_file_path = aro_file.aro_file_path
|
|
194
|
+
@stores[aro_file.uuid] = new_store
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
return Aro::Dom::Ma_ain.instance.stores[aro_file.uuid]
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
end
|
data/sys/reiquire.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
=begin
|
|
2
4
|
|
|
3
5
|
reiquire.rb
|
|
@@ -10,6 +12,10 @@
|
|
|
10
12
|
|
|
11
13
|
module Reiquire
|
|
12
14
|
def self.aro
|
|
15
|
+
|
|
16
|
+
# ensure i18n is initialized
|
|
17
|
+
initialize_i18n!
|
|
18
|
+
|
|
13
19
|
# require runtime dependencies
|
|
14
20
|
require_dependencies!
|
|
15
21
|
|
|
@@ -19,8 +25,7 @@ module Reiquire
|
|
|
19
25
|
# configure locale
|
|
20
26
|
configure_i18n
|
|
21
27
|
|
|
22
|
-
|
|
23
|
-
copy_db_migrations_from_gem! if Aro::Mancy.in_aro?
|
|
28
|
+
require_relative "./ma_ain"
|
|
24
29
|
end
|
|
25
30
|
|
|
26
31
|
def self.requires(dirs)
|
|
@@ -48,34 +53,30 @@ module Reiquire
|
|
|
48
53
|
File.join(gem_locale_dir, "*.yml")
|
|
49
54
|
end
|
|
50
55
|
|
|
51
|
-
|
|
52
|
-
puts __method__
|
|
53
|
-
puts Aro::Cor.ivar(:OSS_OM_HOME)
|
|
54
|
-
return if Aro::Cor.ivar(:OSS_OM_HOME).nil? || oss_om_up_to_date?(
|
|
55
|
-
Aro::Db.gem_migrations_filepaths,
|
|
56
|
-
Aro::Db.migrations_filepaths
|
|
57
|
-
)
|
|
56
|
+
private
|
|
58
57
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
58
|
+
|
|
59
|
+
def self.require_dependencies!
|
|
60
|
+
[
|
|
61
|
+
:active_record,
|
|
62
|
+
:"active_record/schema_dumper",
|
|
63
|
+
:fileutils,
|
|
64
|
+
:"tty-font",
|
|
65
|
+
:"tty-prompt"
|
|
66
|
+
].each{|d| require d.to_s}
|
|
64
67
|
end
|
|
65
68
|
|
|
66
|
-
private
|
|
67
69
|
|
|
68
70
|
def self.copy_locale_files_from_gem!
|
|
69
|
-
|
|
70
|
-
puts Aro::Cor.ivar(:OSS_OM_HOME)
|
|
71
|
+
Aro::D.say(__method__)
|
|
71
72
|
return if Aro::Cor.ivar(:OSS_OM_HOME).nil? || oss_om_up_to_date?(
|
|
72
73
|
gem_locales_filepaths,
|
|
73
74
|
Aro::Dom::Locale.locales_filepaths
|
|
74
75
|
)
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
if Dir.exist?(
|
|
78
|
-
FileUtils.rm_rf(
|
|
77
|
+
file_utils_wtf = File.join(Aro::Mancy.root_dir, :locale.to_s, :locale.to_s)
|
|
78
|
+
if Dir.exist?(file_utils_wtf)
|
|
79
|
+
FileUtils.rm_rf(file_utils_wtf)
|
|
79
80
|
oss_om_up_to_date!(
|
|
80
81
|
gem_locales_filepaths,
|
|
81
82
|
Aro::Dom::Locale.locale_dir
|
|
@@ -91,47 +92,34 @@ module Reiquire
|
|
|
91
92
|
end
|
|
92
93
|
|
|
93
94
|
def self.oss_om_up_to_date!(gem_filepaths, oss_om_dir)
|
|
94
|
-
|
|
95
|
+
Aro::D.say(__method__)
|
|
95
96
|
gem_files_abs = Dir[gem_filepaths].map{|fp| File.absolute_path(fp)}
|
|
96
|
-
|
|
97
|
+
Aro::D.say("gem_files_abs: #{gem_files_abs}")
|
|
97
98
|
|
|
98
|
-
|
|
99
|
+
Aro::D.say("FileUtils.mkdir_p(#{oss_om_dir})")
|
|
99
100
|
FileUtils.mkdir_p(oss_om_dir)
|
|
100
101
|
gem_files_abs.each{|gfa|
|
|
101
|
-
|
|
102
|
+
Aro::D.say("FileUtils.cp(#{File.basename(gfa)}, #{File.basename(oss_om_dir)})")
|
|
102
103
|
FileUtils.cp(gfa, oss_om_dir)
|
|
103
104
|
}
|
|
104
105
|
end
|
|
105
106
|
|
|
106
107
|
def self.oss_om_up_to_date?(gem_filepaths, oss_om_filepaths)
|
|
107
|
-
|
|
108
|
+
Aro::P.say(__method__)
|
|
108
109
|
file_names = Dir[oss_om_filepaths].map{|fp| File.basename(fp)}
|
|
109
|
-
|
|
110
|
+
Aro::D.say("file_names: #{file_names}")
|
|
110
111
|
gem_file_names = Dir[gem_filepaths].map{|fp| File.basename(fp)}
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
Aro::D.say("gem_file_names: #{gem_file_names}")
|
|
113
|
+
up_to_date = gem_file_names.all?{|gfn|
|
|
113
114
|
file_names.include?(gfn)
|
|
114
115
|
}
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
Aro::P.say("up_to_date: #{up_to_date}")
|
|
117
|
+
up_to_date
|
|
117
118
|
end
|
|
118
119
|
|
|
119
120
|
def self.require_reiquires!
|
|
120
121
|
# require sys folders
|
|
121
|
-
Reiquire::requires([:shr, :aro
|
|
122
|
-
|
|
123
|
-
# require cli module
|
|
124
|
-
require_relative :"./cli".to_s
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
def self.require_dependencies!
|
|
128
|
-
[
|
|
129
|
-
:active_record,
|
|
130
|
-
:"active_record/schema_dumper",
|
|
131
|
-
:fileutils,
|
|
132
|
-
:i18n,
|
|
133
|
-
:"tty-prompt"
|
|
134
|
-
].each{|d| require d.to_s}
|
|
122
|
+
Reiquire::requires([:shr, :aro])
|
|
135
123
|
end
|
|
136
124
|
|
|
137
125
|
def self.gem_dir
|
|
@@ -140,8 +128,16 @@ module Reiquire
|
|
|
140
128
|
].first
|
|
141
129
|
end
|
|
142
130
|
|
|
131
|
+
def self.initialize_i18n!
|
|
132
|
+
require :i18n.to_s
|
|
133
|
+
aro_i18n_library = File.join(gem_dir, :locale.to_s, "*.yml")
|
|
134
|
+
I18n.load_path += Dir[aro_i18n_library]
|
|
135
|
+
I18n.available_locales = [:en]
|
|
136
|
+
I18n.default_locale = :en
|
|
137
|
+
I18n.reload!
|
|
138
|
+
end
|
|
139
|
+
|
|
143
140
|
def self.configure_i18n
|
|
144
|
-
Aro::D.say(__method__)
|
|
145
141
|
gem_dir_variable = gem_dir
|
|
146
142
|
copy_locale_files_from_gem!
|
|
147
143
|
aro_i18n_library = File.join(gem_dir_variable, :locale.to_s, "*.yml")
|
|
@@ -153,17 +149,8 @@ module Reiquire
|
|
|
153
149
|
aro_i18n_library = File.join(Aro::Dom::Locale.locale_dir, "*.yml")
|
|
154
150
|
end
|
|
155
151
|
I18n.load_path += Dir[aro_i18n_library]
|
|
156
|
-
|
|
157
152
|
I18n.available_locales = [:en]
|
|
158
153
|
I18n.default_locale = :en
|
|
159
|
-
Aro::D.say("I18n.load_path")
|
|
160
|
-
Aro::D.say(I18n.load_path)
|
|
161
|
-
Aro::D.say("I18n.available_locales")
|
|
162
|
-
Aro::D.say(I18n.available_locales)
|
|
163
|
-
Aro::D.say("I18n.default_locale")
|
|
164
|
-
Aro::D.say(I18n.default_locale)
|
|
165
|
-
Aro::D.say("I18n.reload!")
|
|
166
|
-
Aro::D.say(I18n.reload!)
|
|
167
154
|
end
|
|
168
155
|
|
|
169
156
|
end
|
data/sys/shr/prompt.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
=begin
|
|
2
4
|
|
|
3
5
|
prompt.rb
|
|
@@ -26,6 +28,10 @@ module Aro
|
|
|
26
28
|
Aro::Cor::BOOLS[:TRUE]
|
|
27
29
|
end
|
|
28
30
|
|
|
31
|
+
def self.ask(message)
|
|
32
|
+
gets message
|
|
33
|
+
end
|
|
34
|
+
|
|
29
35
|
def self.say(message)
|
|
30
36
|
p.say(normalize_message(message))
|
|
31
37
|
end
|
|
@@ -36,7 +42,6 @@ module Aro
|
|
|
36
42
|
|
|
37
43
|
def self.normalize_message(message)
|
|
38
44
|
return message.join("\n") if message.kind_of?(Array)
|
|
39
|
-
|
|
40
45
|
message
|
|
41
46
|
end
|
|
42
47
|
end
|
data/sys/shr/version.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
=begin
|
|
2
4
|
|
|
3
5
|
version.rb
|
|
@@ -9,13 +11,10 @@
|
|
|
9
11
|
=end
|
|
10
12
|
|
|
11
13
|
module Aro
|
|
12
|
-
VERSION = :"0.2.
|
|
14
|
+
VERSION = :"0.2.7"
|
|
13
15
|
RELEASE_NOTES = [
|
|
14
|
-
:
|
|
15
|
-
:
|
|
16
|
-
:
|
|
17
|
-
|
|
18
|
-
:removes_aro_cli,
|
|
19
|
-
:adds_oss_om
|
|
20
|
-
].join("\n:")
|
|
16
|
+
:galvinizes_foss_om_utility,
|
|
17
|
+
:creates_foss_om_foundation,
|
|
18
|
+
:removes_tecks
|
|
19
|
+
].join(" | ")
|
|
21
20
|
end
|