Module: Dapp::Helper::Log

Included in:
Application, Controller, Streaming::Proxy::Base
Defined in:
lib/dapp/helper/log.rb

Overview

Log

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



67
68
69
# File 'lib/dapp/helper/log.rb', line 67

def self.included(base)
  base.include(Paint)
end

Instance Method Details

#log(message = '', desc: nil, inline: false, **kwargs) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/dapp/helper/log.rb', line 17

def log(message = '', desc: nil, inline: false, **kwargs)
  return unless defined?(cli_options) && !cli_options[:log_quiet]
  unless desc.nil?
    (desc[:data] ||= {})[:msg] = message
    message = t(desc: desc)
  end
  print "#{log_format_string(message, **kwargs)}#{"\n" unless inline}"
end

#log_format_string(str, time: true, indent: true, style: nil) ⇒ Object



30
31
32
33
34
35
# File 'lib/dapp/helper/log.rb', line 30

def log_format_string(str, time: true, indent: true, style: nil)
  str.to_s.lines.map do |line|
    line = paint_string(line, style) if style
    "#{log_time if time && cli_options[:log_time]}#{indent ? (log_indent + line) : line}"
  end.join
end

#log_indentObject



49
50
51
# File 'lib/dapp/helper/log.rb', line 49

def log_indent
  ' ' * 2 * cli_options[:log_indent].to_i
end

#log_indent_nextObject



53
54
55
56
# File 'lib/dapp/helper/log.rb', line 53

def log_indent_next
  return unless defined? cli_options
  cli_options[:log_indent] += 1
end

#log_indent_prevObject



58
59
60
61
62
63
64
65
# File 'lib/dapp/helper/log.rb', line 58

def log_indent_prev
  return unless defined? cli_options
  if cli_options[:log_indent] <= 0
    cli_options[:log_indent] = 0
  else
    cli_options[:log_indent] -= 1
  end
end

#log_info(message, *args) ⇒ Object



5
6
7
# File 'lib/dapp/helper/log.rb', line 5

def log_info(message, *args)
  log(message, *args, style: :info)
end

#log_secondary(message, *args) ⇒ Object



13
14
15
# File 'lib/dapp/helper/log.rb', line 13

def log_secondary(message, *args)
  log(message, *args, style: :secondary)
end

#log_step(message, *args) ⇒ Object



9
10
11
# File 'lib/dapp/helper/log.rb', line 9

def log_step(message, *args)
  log(message, *args, style: :step)
end

#log_timeObject



26
27
28
# File 'lib/dapp/helper/log.rb', line 26

def log_time
  "#{DateTime.now.strftime('%Y-%m-%dT%T%z')} "
end

#log_with_indent(message = '', **kvargs) ⇒ Object



37
38
39
40
41
# File 'lib/dapp/helper/log.rb', line 37

def log_with_indent(message = '', **kvargs)
  with_log_indent do
    log(message, **kvargs)
  end
end

#with_log_indent(with = true) ⇒ Object



43
44
45
46
47
# File 'lib/dapp/helper/log.rb', line 43

def with_log_indent(with = true)
  log_indent_next if with
  yield
  log_indent_prev if with
end