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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 81d2409b4a27038a1a67eddc395ae7011f6661b1f3757041546f309460c46512
4
- data.tar.gz: f92af6b3bb8f65d8e500e4b602001d06be85337c44daf9c508a137ff94a1ed9a
3
+ metadata.gz: ee7360620aad7d051e61244d65e447827376658930abdfa15139461799e750fd
4
+ data.tar.gz: 232c4358d173dc80c584979988e7d67685b4cdf937561ce4bf7c4ced901b5148
5
5
  SHA512:
6
- metadata.gz: 1248501b11111ea0a6052bf9d44571dcb5b6e4c9bac12117b215caf82045ee23fac51420afac94bb04304d6d244ca1f8095d990432f8e2cc37c843fefb488cf1
7
- data.tar.gz: 193cc7d5307a6e090ddc60ea03153fe67985554b5d12d79ce7d543a13662dc354ae54c8f75c27a33c5e50428bbf18ee644e68c84287012aef35221d67f0234bd
6
+ metadata.gz: 1e6a3af6e1bdd5973f8410bed1fe61cb136c3b6be2702e6ae969f3c832f9dfefe3a209037a7f43ac69ba267893e7e11327c2e5bbcfd8e90bdafbad9e8606a4e1
7
+ data.tar.gz: 755f9dbe27434729fbaf983a1d22c1f80db31a7f342ba45525a90f89b60ad3c7a3ba45b47d51634ad300e7cc29e1b67257d3854397f77039ce275b9ea791cc09
@@ -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, :ok, :warn, :error, :on ]
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
 
@@ -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)"
@@ -1,3 +1,3 @@
1
1
  module AtkToolbox
2
- VERSION = '0.0.145'
2
+ VERSION = '0.0.146'
3
3
  end
@@ -64,7 +64,7 @@ class String
64
64
  end
65
65
 
66
66
  def unstyle
67
- self.gsub!(/\e\[([;0-9]+)m/,"")
67
+ self.gsub!(/\e\[([;0-9]+)m/,"") || self
68
68
  end
69
69
 
70
70
  def self.color_samples
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atk_toolbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.145
4
+ version: 0.0.146
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Hykin