module Zashoku::Util

Public Class Methods

alert(msg) click to toggle source
# File lib/core/util/util.rb, line 43
def self.alert(msg)
  print "\e[#{Term.rows};0H\e[31m#{msg}\e[K"
end
decode_object(e) click to toggle source
# File lib/core/util/util.rb, line 11
def self.decode_object(e)
  return e if e.class == Hash
  Marshal.load(Base64.decode64(e))
rescue ArgumentError
  {}
rescue TypeError
  {}
end
deep_merge(this, that) click to toggle source
# File lib/core/util/util.rb, line 20
def self.deep_merge(this, that)
  this&.merge(that || {}) do |_k, old, nu|
    case old
    when Hash
      deep_merge(old, nu)
    #when Array
    #  old + nu
    else
      nu
    end
  end
end
encode_object(d) click to toggle source
# File lib/core/util/util.rb, line 7
def self.encode_object(d)
  Base64.strict_encode64(Marshal.dump(d))
end
get_yaml(file, nil_value = {}) click to toggle source
# File lib/core/util/util.rb, line 33
def self.get_yaml(file, nil_value = {})
  YAML.safe_load(File.open(file, 'r', &:read)) || nil_value
rescue Errno::ENOENT
  nil_value
end
put_yaml(file, data) click to toggle source
# File lib/core/util/util.rb, line 39
def self.put_yaml(file, data)
  File.open(file, 'w') { |f| f.puts YAML.dump(data) }
end