Class: WatchmonkeyCli::Checker::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/watchmonkey_cli/checker.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(checker, *args) ⇒ Result



57
58
59
60
61
62
63
# File 'lib/watchmonkey_cli/checker.rb', line 57

def initialize checker, *args
  @checker = checker
  @args = args
  @mutex = Monitor.new
  @type = :info
  @spool = { error: [], info: [], debug: []}
end

Instance Attribute Details

#argsObject (readonly)

Returns the value of attribute args.



54
55
56
# File 'lib/watchmonkey_cli/checker.rb', line 54

def args
  @args
end

#checkerObject (readonly)

Returns the value of attribute checker.



54
55
56
# File 'lib/watchmonkey_cli/checker.rb', line 54

def checker
  @checker
end

#commandObject

Returns the value of attribute command.



55
56
57
# File 'lib/watchmonkey_cli/checker.rb', line 55

def command
  @command
end

#dataObject

Returns the value of attribute data.



55
56
57
# File 'lib/watchmonkey_cli/checker.rb', line 55

def data
  @data
end

#resultObject

Returns the value of attribute result.



55
56
57
# File 'lib/watchmonkey_cli/checker.rb', line 55

def result
  @result
end

#typeObject (readonly)

Returns the value of attribute type.



54
55
56
# File 'lib/watchmonkey_cli/checker.rb', line 54

def type
  @type
end

Instance Method Details

#descriptorObject



69
70
71
# File 'lib/watchmonkey_cli/checker.rb', line 69

def descriptor
  "[#{@checker.class.checker_name} | #{args.join(" | ")}]"
end

#dump!Object



89
90
91
92
93
94
95
96
97
# File 'lib/watchmonkey_cli/checker.rb', line 89

def dump!
  sync do
    @spool.each do |t, messages|
      while messages.any?
        @checker.send(t, "#{str_descriptor}#{messages.shift}", self)
      end
    end
  end
end

#messagesObject



85
86
87
# File 'lib/watchmonkey_cli/checker.rb', line 85

def messages
  @spool.map(&:second).flatten
end

#str_descriptorObject



81
82
83
# File 'lib/watchmonkey_cli/checker.rb', line 81

def str_descriptor
  "#{descriptor}\n\t"
end

#str_runningObject



77
78
79
# File 'lib/watchmonkey_cli/checker.rb', line 77

def str_running
  "Running checker #{@checker.class.checker_name} with [#{args.join(" | ")}]"
end

#str_safeObject



73
74
75
# File 'lib/watchmonkey_cli/checker.rb', line 73

def str_safe
  "#{descriptor}\n\t"
end

#sync(&block) ⇒ Object



65
66
67
# File 'lib/watchmonkey_cli/checker.rb', line 65

def sync &block
  @mutex.synchronize(&block)
end