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

Returns a new instance of Result.



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

def initialize checker, *args
  @checker = checker
  @args = args
  @mutex = Monitor.new
  @type = :info
  @tags = []
  @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

#tagsObject

Returns the value of attribute tags.



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

def tags
  @tags
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



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

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

#dump!Object



97
98
99
100
101
102
103
104
105
# File 'lib/watchmonkey_cli/checker.rb', line 97

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



93
94
95
# File 'lib/watchmonkey_cli/checker.rb', line 93

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

#str_descriptorObject



89
90
91
# File 'lib/watchmonkey_cli/checker.rb', line 89

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

#str_runningObject



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

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

#str_safeObject



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

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

#sync(&block) ⇒ Object



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

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

#uniqid(additional = []) ⇒ Object



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

def uniqid additional = []
  ([
    self.class.name,
    @args.map(&:to_s).to_s,
  ] + additional).join("/")
end