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.



49
50
51
52
53
54
55
# File 'lib/watchmonkey_cli/checker.rb', line 49

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.



46
47
48
# File 'lib/watchmonkey_cli/checker.rb', line 46

def args
  @args
end

#checkerObject (readonly)

Returns the value of attribute checker.



46
47
48
# File 'lib/watchmonkey_cli/checker.rb', line 46

def checker
  @checker
end

#commandObject

Returns the value of attribute command.



47
48
49
# File 'lib/watchmonkey_cli/checker.rb', line 47

def command
  @command
end

#dataObject

Returns the value of attribute data.



47
48
49
# File 'lib/watchmonkey_cli/checker.rb', line 47

def data
  @data
end

#resultObject

Returns the value of attribute result.



47
48
49
# File 'lib/watchmonkey_cli/checker.rb', line 47

def result
  @result
end

#typeObject (readonly)

Returns the value of attribute type.



46
47
48
# File 'lib/watchmonkey_cli/checker.rb', line 46

def type
  @type
end

Instance Method Details

#descriptorObject



61
62
63
# File 'lib/watchmonkey_cli/checker.rb', line 61

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

#dump!Object



81
82
83
84
85
86
87
88
89
# File 'lib/watchmonkey_cli/checker.rb', line 81

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



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

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

#str_descriptorObject



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

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

#str_runningObject



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

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

#str_safeObject



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

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

#sync(&block) ⇒ Object



57
58
59
# File 'lib/watchmonkey_cli/checker.rb', line 57

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