Class: Orca::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/orca/logger.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node, package) ⇒ Logger

Returns a new instance of Logger.



4
5
6
7
# File 'lib/orca/logger.rb', line 4

def initialize(node, package)
  @node = node
  set_package(package)
end

Instance Attribute Details

#nodeObject

Returns the value of attribute node.



2
3
4
# File 'lib/orca/logger.rb', line 2

def node
  @node
end

Instance Method Details

#cached(cmd) ⇒ Object



35
36
37
# File 'lib/orca/logger.rb', line 35

def cached(cmd)
  execute(cmd)
end

#clone_for_node(node) ⇒ Object



9
10
11
12
13
# File 'lib/orca/logger.rb', line 9

def clone_for_node(node)
  copy = self.dup
  copy.node = node
  copy
end

#command(msg) ⇒ Object



19
20
21
# File 'lib/orca/logger.rb', line 19

def command(msg)
  say(msg, :yellow)
end

#execute(cmd) ⇒ Object



27
28
29
# File 'lib/orca/logger.rb', line 27

def execute(cmd)
  say(cmd, :cyan)
end

#local(cmd) ⇒ Object



23
24
25
# File 'lib/orca/logger.rb', line 23

def local(cmd)
  say(cmd, :cyan)
end

#log(msg) ⇒ Object



43
44
45
# File 'lib/orca/logger.rb', line 43

def log(msg)
  say(msg)
end

#mock_execute(cmd) ⇒ Object



31
32
33
# File 'lib/orca/logger.rb', line 31

def mock_execute(cmd)
  execute(cmd)
end

#say(msg, color = nil) ⇒ Object



55
56
57
58
59
60
# File 'lib/orca/logger.rb', line 55

def say(msg, color=nil)
  msg.to_s.split("\n").each do |line|
    out = color ? line.send(color) : line
    Thread.exclusive { puts "#{@node.to_s} [#{@package.bold}] #{out}" }
  end
end

#set_package(package) ⇒ Object



15
16
17
# File 'lib/orca/logger.rb', line 15

def set_package(package)
  @package = package.to_s
end

#sftp(cmd) ⇒ Object



39
40
41
# File 'lib/orca/logger.rb', line 39

def sftp(cmd)
  execute(cmd)
end

#stderr(msg, force = false) ⇒ Object



51
52
53
# File 'lib/orca/logger.rb', line 51

def stderr(msg, force=false)
  say(msg, :red) if force || Orca.verbose
end

#stdout(msg, force = false) ⇒ Object



47
48
49
# File 'lib/orca/logger.rb', line 47

def stdout(msg, force=false)
  say(msg, :green) if force || Orca.verbose
end