Sha256: 2f71f0daf52ac6defc78298cdb4ec632df1ed97c0ab8d38a2aaea5c4ba64f414

Contents?: true

Size: 754 Bytes

Versions: 1

Compression:

Stored size: 754 Bytes

Contents

module Clickatell
  class API
  
    # Clickatell API Error exception.
    class Error < StandardError
      attr_reader :code, :message
      
      def initialize(code, message)
        @code, @message = code, message
      end
      
      def to_s
        "#{@code}: #{@message}"
      end
      
      # Creates a new Error from a Clickatell HTTP response string
      # e.g.:
      #
      #  Error.parse("ERR: 001, Authentication error")
      #  # =>  #<Clickatell::API::Error code='001' message='Authentication error'>
      def self.parse(error_string)
        error_details = error_string.split(':').last.strip
        code, message = error_details.split(',').map { |s| s.strip }
        self.new(code, message)
      end
    end
  
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lookout-clickatell-0.8.3 lib/clickatell/api/error.rb