Sha256: 7f56d86426df55c3849f7ebeb72ab88a4f1fb6f4fe89cd0ec917d69356688c19

Contents?: true

Size: 1.51 KB

Versions: 2

Compression:

Stored size: 1.51 KB

Contents

#
# Bolt::Notifier
#
# The Notifier sends notification of the test results to the user
#
module Bolt
  class Notifier
    attr_accessor :selected
    
    # Constructor
    def initialize 
      # find an appropriate notifier
      notifier
      # present
      $stdout.puts "** Using #{notifier.class} \n" if Bolt.verbose?
    end

    # Pick a notifier to launch
    def notifier
      return selected if selected
      
      if Bolt['notifier'] and ['generic', 'growl'].include?(Bolt['notifier'])
        self.selected= Bolt::Notifiers::Growl.new if Bolt['notifier'] == 'growl'
        self.selected= Bolt::Notifiers::Generic.new if Bolt['notifier'] == 'generic'
        self.selected= Bolt::Notifiers::NotifyOsd.new if Bolt['notifier'] == 'notify_send'
        $stdout.puts "** Found 'notifier' setting in .bolt" if Bolt.verbose?
        return self.selected
      end
      
      $stdout.puts "** Determining notifier... \n" if Bolt.verbose?
      
      # default - growl (if growlnotify is present)
      output = %x[which growlnotify]
      if !Bolt['notifier'] and output.to_s.include?('/growlnotify')
        self.selected= Bolt::Notifiers::Growl.new(:use_growlnotify => true)        
      end
      
      output = %x[which notify-send]
      if !Bolt['notifier'] and output.to_s.include?('/notify-send')
        self.selected= Bolt::Notifiers::NotifyOsd.new     
      end
      
      # default if else fails
      if !selected
        self.selected= Bolt::Notifiers::Generic.new
      end

      selected
    end
   
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
marcinbunsch-bolt-0.2.7 lib/bolt/notifier.rb
marcinbunsch-bolt-0.2.8 lib/bolt/notifier.rb