Sha256: 18876dd369f77f37f94982f620bfbae17da53aad6394c65c5662cda435e8a1ac

Contents?: true

Size: 599 Bytes

Versions: 2

Compression:

Stored size: 599 Bytes

Contents

# frozen_string_literal: true

require 'lite/errors'

module Lite
  module Service
    module Errors

      def errors
        @errors ||= Lite::Errors::Messages.new
      end

      def errored?
        !errors.empty?
      end

      def fail!
        raise Lite::Service::ValidationError
      end

      def failure?
        called? && errored?
      end

      def result!
        result if valid?
      end

      def success?
        called? && !errored?
      end

      def validate!
        return true if success?

        fail!
      end

      alias valid? validate!

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lite-service-1.0.3 lib/lite/service/errors.rb
lite-service-1.0.2 lib/lite/service/errors.rb