class Guard::RSpec::Notifier

Attributes

options[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/guard/rspec/notifier.rb, line 6
def initialize(options = {})
  @options = options
end

Public Instance Methods

notify(summary) click to toggle source
# File lib/guard/rspec/notifier.rb, line 10
def notify(summary)
  return unless options[:notification]
  failure_count, pending_count = _parse_summary(summary)
  image = _image(failure_count, pending_count)
  priority = _priority(image)
  Guard::Compat::UI.notify(summary,
                           title: @options[:title],
                           image: image,
                           priority: priority)
end
notify_failure() click to toggle source
# File lib/guard/rspec/notifier.rb, line 21
def notify_failure
  return unless options[:notification]
  Guard::Compat::UI.notify("Failed",
                           title: @options[:title],
                           image: :failed,
                           priority: 2)
end

Private Instance Methods

_image(failure_count, pending_count) click to toggle source
# File lib/guard/rspec/notifier.rb, line 38
def _image(failure_count, pending_count)
  if failure_count > 0
    :failed
  elsif pending_count > 0
    :pending
  else
    :success
  end
end
_parse_summary(summary) click to toggle source
# File lib/guard/rspec/notifier.rb, line 31
def _parse_summary(summary)
  summary.match(/(\d+) failures( \((\d+) pending\))?/) do |m|
    return m[1].to_i, m[3].to_i
  end
  [0, 0]
end
_priority(image) click to toggle source
# File lib/guard/rspec/notifier.rb, line 48
def _priority(image)
  { failed:   2,
    pending: -1,
    success: -2 }[image]
end