Module: ActionWebService::Container::Delegated::ClassMethods

Module | ActionWebService::Container::Delegated::ClassMethods
In: | lib/action_web_service/container/delegated_container.rb

### Methods

has_web_service? web_service

### Public Instance methods

has_web_service?(name)

Whether this service contains a service with the given `name`

web_service(name, object=nil, &block)

Declares a web service that will provide access to the API of the given `object`. `object` must be an ActionWebService::Base derivative.

Web service object creation can either be immediate, where the object instance is given at class definition time, or deferred, where object instantiation is delayed until request time.

#### Immediate web service object example

      class ApiController < ApplicationController
        web_service_dispatching_mode :delegated

        web_service :person, PersonService.new
      end

For deferred instantiation, a block should be given instead of an object instance. This block will be executed in controller instance context, so it can rely on controller instance variables being present.

#### Deferred web service object example

      class ApiController < ApplicationController
        web_service_dispatching_mode :delegated

        web_service(:person) { PersonService.new(request.env) }
      end

[Validate]