Sha256: 11051704ca1559b5cebe49d05beefd9ab6e744d360118099c8a4b0f279f5435d

Contents?: true

Size: 828 Bytes

Versions: 3

Compression:

Stored size: 828 Bytes

Contents

require "i18n"

module Shamu

  module Services
    # A generic error class for problems with shamu services.
    class Error < Shamu::Error
      private

        def translation_scope
          super.dup.insert( 1, :services )
        end

    end

    # The service has included a module that requires some setup or
    # configuration but it hasn't been setup properly.
    class IncompleteSetupError < Error
      def initialize( message = :incomplete_setup )
        super
      end
    end

    class ServiceRequestFailedError < Error
      attr_reader :result
      attr_reader :full_messages

      def initialize( result )
        @result = result
        @full_messages = result.errors.full_messages.join( ", " )

        super translate( :service_request_failed, errors: @full_messages )
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
shamu-0.0.24 lib/shamu/services/error.rb
shamu-0.0.21 lib/shamu/services/error.rb
shamu-0.0.20 lib/shamu/services/error.rb