atk_toolbox 0.0.145 → 0.0.146
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/lib/atk/console.rb +6 -1
- data/lib/atk/file_system.rb +46 -0
- data/lib/atk_toolbox/version.rb +1 -1
- data/lib/console_colors.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee7360620aad7d051e61244d65e447827376658930abdfa15139461799e750fd
|
4
|
+
data.tar.gz: 232c4358d173dc80c584979988e7d67685b4cdf937561ce4bf7c4ced901b5148
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e6a3af6e1bdd5973f8410bed1fe61cb136c3b6be2702e6ae969f3c832f9dfefe3a209037a7f43ac69ba267893e7e11327c2e5bbcfd8e90bdafbad9e8606a4e1
|
7
|
+
data.tar.gz: 755f9dbe27434729fbaf983a1d22c1f80db31a7f342ba45525a90f89b60ad3c7a3ba45b47d51634ad300e7cc29e1b67257d3854397f77039ce275b9ea791cc09
|
data/lib/atk/console.rb
CHANGED
@@ -63,7 +63,7 @@ Console = Class.new do
|
|
63
63
|
CACHE::prompt = TTY::Prompt.new
|
64
64
|
end
|
65
65
|
# generate interface for TTY prompt with lazy require
|
66
|
-
for each in [ :ask, :keypress, :multiline, :mask, :yes?, :no?, :select, :multi_select, :enum_select, :expand, :collect, :suggest, :slider, :say, :
|
66
|
+
for each in [ :ask, :keypress, :multiline, :mask, :yes?, :no?, :select, :multi_select, :enum_select, :expand, :collect, :suggest, :slider, :say, :warn, :error ]
|
67
67
|
eval(<<-HEREDOC)
|
68
68
|
def #{each}(*args, **kwargs)
|
69
69
|
self._load_prompt() if CACHE::prompt == nil
|
@@ -78,6 +78,11 @@ Console = Class.new do
|
|
78
78
|
HEREDOC
|
79
79
|
end
|
80
80
|
|
81
|
+
def ok(message)
|
82
|
+
puts message.green + "\n[press enter to continue]".light_black
|
83
|
+
gets
|
84
|
+
end
|
85
|
+
alias :ok? :ok
|
81
86
|
|
82
87
|
attr_accessor :verbose
|
83
88
|
|
data/lib/atk/file_system.rb
CHANGED
@@ -141,6 +141,52 @@ module FileSystem
|
|
141
141
|
return output
|
142
142
|
end
|
143
143
|
|
144
|
+
def self.merge(from, into: nil, force: true)
|
145
|
+
to = into
|
146
|
+
if !FS.exist?(from)
|
147
|
+
raise <<~HEREDOC
|
148
|
+
|
149
|
+
|
150
|
+
When calling FileSystem.merge(#{from.inspect}, into: #{into.inspect})
|
151
|
+
The path: #{from.inspect}
|
152
|
+
Doesn't exist
|
153
|
+
HEREDOC
|
154
|
+
end
|
155
|
+
|
156
|
+
# recursive case (folder)
|
157
|
+
if FS.is_folder(from)
|
158
|
+
# if theres a target file in the way
|
159
|
+
if FS.exist?(to) && ( !FS.is_folder(to) )
|
160
|
+
if force
|
161
|
+
# remove it
|
162
|
+
FS.delete(to)
|
163
|
+
else
|
164
|
+
# continue with the process
|
165
|
+
return
|
166
|
+
end
|
167
|
+
end
|
168
|
+
# create a folder if needed
|
169
|
+
if !FS.exist?(to)
|
170
|
+
FS.touch_dir(to)
|
171
|
+
end
|
172
|
+
# become recursive for all contents
|
173
|
+
for each in FS.ls(from)
|
174
|
+
FS.merge(from/each, into: to/each, force: force)
|
175
|
+
end
|
176
|
+
# base case (file)
|
177
|
+
else
|
178
|
+
if FS.exist?(to)
|
179
|
+
if force
|
180
|
+
FS.delete(to)
|
181
|
+
else
|
182
|
+
# do nothing
|
183
|
+
return
|
184
|
+
end
|
185
|
+
end
|
186
|
+
FS.copy(from: from, to: FS.dirname(to), new_name: nil)
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
144
190
|
def self.copy(from:nil, to:nil, new_name:"", force: true, preserve: false, dereference_root: false)
|
145
191
|
if new_name == ""
|
146
192
|
raise "\n\nFileSystem.copy() needs a new_name: argument\nset new_name:nil if you wish the file/folder to keep the same name\ne.g. FileSystem.copy(from:'place/thing', to:'place', new_name:nil)"
|
data/lib/atk_toolbox/version.rb
CHANGED
data/lib/console_colors.rb
CHANGED