Module: Zashoku::Util

Included in:
View, Viewer
Defined in:
lib/core/util/term.rb,
lib/core/util/util.rb,
lib/core/util/readline.rb

Defined Under Namespace

Modules: Term Classes: Readline

Class Method Summary collapse

Class Method Details

.alert(msg) ⇒ Object



43
44
45
# 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) ⇒ Object



11
12
13
14
15
16
17
18
# 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) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# 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) ⇒ Object



7
8
9
# 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 = {}) ⇒ Object



33
34
35
36
37
# 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) ⇒ Object



39
40
41
# 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