Sha256: 04870246abff6548fc1d72c5835e3a85a3b7398503b6f1fb723bf9ccf6b92f62

Contents?: true

Size: 557 Bytes

Versions: 2

Compression:

Stored size: 557 Bytes

Contents

require_relative "invalid"

module Hexx
  class Service

    # Defines methods for active record validation.
    module Validations

      # Includes the <tt>ActiveModel::Validations</tt> module to the service.
      #
      # Params
      # +klass+:: a class that includes the module.
      #
      def self.included(klass)
        klass.include ActiveModel::Validations
      end

      # Runs validations and raises <tt>Service::Error</tt> if validations fail.
      def validate!
        fail Invalid.new(self) unless valid?
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hexx-2.2.0 lib/hexx/service/validations.rb
hexx-2.1.0 lib/hexx/service/validations.rb