Sha256: fd0a1737318e6bc55a2d04624dba03d88b5d3d7b3210fc8851229d6a19908be5

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

# encoding: utf-8
require "wisper"

require "service_objects/helpers/messages"
require "service_objects/helpers/validations"
require "service_objects/helpers/exceptions"
require "service_objects/helpers/dependable"
require "service_objects/helpers/parameters"
require "service_objects/helpers/parameterized"

module ServiceObjects

  # Base class for service objects
  #
  # @example
  #   AddItem = Class.new(ServiceObjects::Base)
  #
  # @see http://www.rubydoc.info/github/krisleech/wisper
  #   'wisper' gem by Kris Leech
  # @see http://apidock.com/rails/v4.1.8/ActiveModel/Validations
  #   ActiveModel::Validations
  class Base

    extend Helpers::Dependable
    extend Helpers::Parameterized

    include Helpers::Exceptions
    include Helpers::Validations
    include Wisper::Publisher
    # @!parse include ServiceObjects::Helpers::Parameters
    # @!parse include ServiceObjects::Helpers::Messages
    # @!parse include ActiveModel::Validations

    # @abstract
    # Runs service object
    #
    # @return [undefined]
    def run
    end

  end # class Base

end # module ServiceObjects

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
service_objects-0.0.2 lib/service_objects/base.rb
service_objects-0.0.1 lib/service_objects/base.rb