Sha256: 885746616d13c46af1797859e925d6e66484edef7f3e2ecfd8658ece72d7a179

Contents?: true

Size: 1.18 KB

Versions: 101

Compression:

Stored size: 1.18 KB

Contents

module Acfs::Model

  # Included by Acfs::Model. Allows to configure the service
  # a resource belongs to.
  #
  module Service
    extend ActiveSupport::Concern

    module ClassMethods

      # @api public
      #
      # @overload service()
      #   Return service instance.
      #
      #   @return [ Service ] Service class instance.
      #
      # @overload service(klass, options = {})
      #   Link to service this model belongs to. Connection settings like base URL
      #   are fetched from service. Return assigned service if no arguments are given.
      #
      #   @example
      #     class AccountService < Acfs::Client
      #       self.base_url = 'http://acc.serv.org'
      #     end
      #
      #     class MyUser
      #       service AccountService
      #     end
      #     MyUser.find 5 # Will fetch `http://acc.serv.org/users/5`
      #
      #   @param [ Class ] klass Service class derived from {Acfs::Service}.
      #   @param [ Object ] options Option delegated to service class initializer.
      #
      def service(klass = nil, options = {})
        return (@service = klass.new options) if klass
        @service || superclass.service
      end
    end
  end
end

Version data entries

101 entries across 101 versions & 1 rubygems

Version Path
acfs-0.42.0 lib/acfs/model/service.rb
acfs-0.41.1 lib/acfs/model/service.rb
acfs-0.41.1.beta1 lib/acfs/model/service.rb
acfs-0.41.0 lib/acfs/model/service.rb
acfs-0.40.1.rc1 lib/acfs/model/service.rb
acfs-0.40.0 lib/acfs/model/service.rb
acfs-0.39.1 lib/acfs/model/service.rb
acfs-0.39.0 lib/acfs/model/service.rb
acfs-0.38.0 lib/acfs/model/service.rb
acfs-0.37.0.1.b295 lib/acfs/model/service.rb
acfs-0.37.0 lib/acfs/model/service.rb
acfs-0.36.0.1.b293 lib/acfs/model/service.rb
acfs-0.36.0 lib/acfs/model/service.rb
acfs-0.35.0.1.b291 lib/acfs/model/service.rb
acfs-0.35.0 lib/acfs/model/service.rb
acfs-0.34.1.1.b289 lib/acfs/model/service.rb
acfs-0.34.1 lib/acfs/model/service.rb
acfs-0.34.0.1.b288 lib/acfs/model/service.rb
acfs-0.34.0.1.b287 lib/acfs/model/service.rb
acfs-0.34.0.1.b286 lib/acfs/model/service.rb