Sha256: 1bdf79c6e9537195c623bcc84d36572faac73ab20911ac35e8c516ac3c355fc4

Contents?: true

Size: 1 KB

Versions: 5

Compression:

Stored size: 1 KB

Contents

module Appsignal
  class Marker
    attr_reader :marker_data, :config, :logger
    ACTION = 'markers'

    def initialize(marker_data, root_path, rails_env, logger)
      @marker_data = marker_data
      @config = Appsignal::Config.new(root_path, rails_env, logger).load
      @logger = logger
    end

    def transmit
      begin
        transmitter = Transmitter.new(
          @config[:endpoint], ACTION, @config[:api_key]
        )
        @logger.info "Notifying Appsignal of deploy..."
        result = transmitter.transmit(marker_data)
        if result == '200'
          @logger.info "Appsignal has been notified of this deploy!"
        else
          raise "#{result} at #{transmitter.uri}"
        end
      rescue Exception => e
        message = "Something went wrong while trying to notify Appsignal: #{e}"
        if @logger.respond_to?(:important)
          # This is a Capistrano logger
          @logger.important message
        else
          @logger.error message
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
appsignal-0.4.6 lib/appsignal/marker.rb
appsignal-0.4.5 lib/appsignal/marker.rb
appsignal-0.4.4 lib/appsignal/marker.rb
appsignal-0.4.3 lib/appsignal/marker.rb
appsignal-0.4.0 lib/appsignal/marker.rb