Sha256: 966ef8e0e4ee2be5c29dcfbcb0efa24086c182a94a57021c6eb6c3494dea29c4

Contents?: true

Size: 1.48 KB

Versions: 24

Compression:

Stored size: 1.48 KB

Contents

require 'tinder'

module SimpleDeploy
  class Notifier
    class Campfire

      def initialize(args)
        @stack_name = args[:stack_name]
        @environment = args[:environment]
        @config = args[:config]
        @logger = @config.logger

        attributes = stack.attributes
        @subdomain = attributes['campfire_subdomain']
        @room_ids = attributes['campfire_room_ids'] ||= ''
        @logger.debug "Campfire subdomain '#{@subdomain}'."
        @logger.debug "Campfire room ids '#{@room_ids}'."

        if @subdomain
          @token = @config.notifications['campfire']['token']
          @campfire = Tinder::Campfire.new @subdomain, :token => @token,
                                                       :ssl_options => { :verify => false }
        end
      end

      def send(message)
        @logger.info "Sending Campfire notifications."
        @room_ids.split(',').each do |room_id|
          @logger.debug "Sending notification to Campfire room #{room_id}."
          room = @campfire.find_room_by_id room_id.to_i
          room.speak message
        end
        @logger.info "Campfire notifications complete."
      end

      private

      def stack
        @stack ||= Stackster::Stack.new :environment => @environment,
                                        :name        => @stack_name,
                                        :config      => @config.environment(@environment),
                                        :logger      => @logger
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
simple_deploy-0.7.2 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.7.2.beta.1 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.7.1 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.7.0 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.6.7 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.6.6 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.6.5 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.6.4 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.6.3 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.6.2 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.6.1 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.6.0 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.5.6 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.5.5 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.5.4 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.5.3 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.5.2 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.5.1 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.5.0 lib/simple_deploy/notifier/campfire.rb
simple_deploy-0.4.8 lib/simple_deploy/notifier/campfire.rb