Class: DanarchyDeploy::Helpers
- Inherits:
-
Object
- Object
- DanarchyDeploy::Helpers
- Defined in:
- lib/danarchy_deploy/helpers.rb
Class Method Summary collapse
- .decode_base64(data) ⇒ Object
- .encode_base64(data) ⇒ Object
- .hash_except(hash, regex) ⇒ Object
- .hash_symbols_to_strings(hash) ⇒ Object
- .pretend_run(command) ⇒ Object
- .run_command(command, options) ⇒ Object
Class Method Details
.decode_base64(data) ⇒ Object
27 28 29 |
# File 'lib/danarchy_deploy/helpers.rb', line 27 def self.decode_base64(data) Base64.decode64(data) end |
.encode_base64(data) ⇒ Object
31 32 33 |
# File 'lib/danarchy_deploy/helpers.rb', line 31 def self.encode_base64(data) Base64.encode64(data) end |
.hash_except(hash, regex) ⇒ Object
40 41 42 |
# File 'lib/danarchy_deploy/helpers.rb', line 40 def self.hash_except(hash, regex) hash.dup.delete_if { |k,v| k.to_s =~ /#{regex}/ } end |
.hash_symbols_to_strings(hash) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/danarchy_deploy/helpers.rb', line 44 def self.hash_symbols_to_strings(hash) new_hash = Hash.new hash.each do |key, val| if val.class == Hash new_hash[key.to_s] = Hash.new val.each do |k, v| new_hash[key.to_s][k.to_s] = v end else new_hash[key.to_s] = val end end new_hash end |
.pretend_run(command) ⇒ Object
36 37 38 |
# File 'lib/danarchy_deploy/helpers.rb', line 36 def self.pretend_run(command) puts "\tFake run: #{command}" end |
.run_command(command, options) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/danarchy_deploy/helpers.rb', line 6 def self.run_command(command, ) pid, stdout, stderr = nil printf("%14s %0s\n", 'Running:', "#{command}") if [:pretend] && ![:dev_gem] pretend_run(command) else Open3.popen3(command) do |i, o, e, t| pid = t.pid (out, err) = o.read, e.read stdout = !out.empty? ? out : nil stderr = !err.empty? ? err : nil end puts "------\nErrored at: #{caller_locations.first.label} Line: #{caller_locations.first.lineno}\nSTDERR: ", stderr, '------' if stderr puts "------\nSTDOUT: ", stdout, '------' if stdout && [:ssh_verbose] end { pid: pid, stdout: stdout, stderr: stderr } end |