Module: Acfs::Resource::Service::ClassMethods

Defined in:
lib/acfs/resource/service.rb

Instance Method Summary collapse

Instance Method Details

#serviceService #service(klass, options = {}) ⇒ Object

Overloads:

  • #serviceService

    Return service instance.

    Returns:

    • (Service)

      Service class instance.

  • #service(klass, options = {}) ⇒ Object

    Link to service this model belongs to. Connection settings like base URL are fetched from service. Return assigned service if no arguments are given.

    Examples:

    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`

    Parameters:

    • klass (Class)

      Service class derived from Service.

    • options (Object) (defaults to: {})

      Option delegated to service class initializer.



37
38
39
40
41
# File 'lib/acfs/resource/service.rb', line 37

def service(klass = nil, **options)
  return (@service = klass.new(**options)) if klass

  @service || superclass.service
end