Sha256: 682fde9c01868fa0e61862b0c1c54ea35287ea8fbcb031fefc4d431ba0a08455

Contents?: true

Size: 1.22 KB

Versions: 22

Compression:

Stored size: 1.22 KB

Contents

class Acfs::Resource
  # 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 < Acfs::Resource
      #       service AccountService
      #     end
      #     MyUser.find 5 # Will fetch `http://acc.serv.org/users/5`
      #
      #   @param klass [Class] Service class derived from {Acfs::Service}.
      #   @param options [Object] 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

22 entries across 22 versions & 1 rubygems

Version Path
acfs-1.3.2 lib/acfs/resource/service.rb
acfs-1.3.1 lib/acfs/resource/service.rb
acfs-1.3.0 lib/acfs/resource/service.rb
acfs-1.2.1 lib/acfs/resource/service.rb
acfs-0.50.0 lib/acfs/resource/service.rb
acfs-1.2.0 lib/acfs/resource/service.rb
acfs-0.49.1 lib/acfs/resource/service.rb
acfs-1.1.1 lib/acfs/resource/service.rb
acfs-0.49.0 lib/acfs/resource/service.rb
acfs-1.1.0 lib/acfs/resource/service.rb
acfs-0.48.2 lib/acfs/resource/service.rb
acfs-1.0.1 lib/acfs/resource/service.rb
acfs-0.48.1 lib/acfs/resource/service.rb
acfs-1.0.0 lib/acfs/resource/service.rb
acfs-0.48.0 lib/acfs/resource/service.rb
acfs-0.47.0 lib/acfs/resource/service.rb
acfs-0.46.0 lib/acfs/resource/service.rb
acfs-0.45.0 lib/acfs/resource/service.rb
acfs-0.44.0 lib/acfs/resource/service.rb
acfs-0.43.2 lib/acfs/resource/service.rb