Methods
Instance Public methods
Attaches ActionWebService API definition
to the calling class.
Action Controllers can have a default associated API, removing the need to call this method if you follow the Action Web Service naming conventions.
A controller with a class name of GoogleSearchController will
implicitly load app/apis/google_search_api.rb
, and expect the
API definition class to be named
GoogleSearchAPI
or GoogleSearchApi
.
Service class example
class MyService < ActionWebService::Base web_service_api MyAPI end class MyAPI < ActionWebService::API::Base ... end
Controller class example
class MyController < ActionController::Base web_service_api MyAPI end class MyAPI < ActionWebService::API::Base ... end
Source: show
# File rails/actionwebservice/lib/action_web_service/container/direct_container.rb, line 41 def web_service_api(definition=nil) if definition.nil? read_inheritable_attribute("web_service_api") else if definition.is_a?(Symbol) raise(ContainerError, "symbols can only be used for #web_service_api inside of a controller") end unless definition.respond_to?(:ancestors) && definition.ancestors.include?(ActionWebService::API::Base) raise(ContainerError, "#{definition.to_s} is not a valid API definition") end write_inheritable_attribute("web_service_api", definition) call_web_service_api_callbacks(self, definition) end end