Methods
Public Instance 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
[ show source ]
# File vendor/rails/actionwebservice/lib/action_web_service/container/direct_container.rb, line 42
42: def web_service_api(definition=nil)
43: if definition.nil?
44: read_inheritable_attribute("web_service_api")
45: else
46: if definition.is_a?(Symbol)
47: raise(ContainerError, "symbols can only be used for #web_service_api inside of a controller")
48: end
49: unless definition.respond_to?(:ancestors) && definition.ancestors.include?(ActionWebService::API::Base)
50: raise(ContainerError, "#{definition.to_s} is not a valid API definition")
51: end
52: write_inheritable_attribute("web_service_api", definition)
53: call_web_service_api_callbacks(self, definition)
54: end
55: end