Represents an API method and its associated metadata, and provides functionality to assist in commonly performed API method tasks.

Methods
Attributes
[R] expects
[R] name
[R] public_name
[R] returns
Public Class methods
new(name, public_name, expects, returns)
     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 172
172:       def initialize(name, public_name, expects, returns)
173:         @name = name
174:         @public_name = public_name
175:         @expects = expects
176:         @returns = returns
177:         @caster = ActionWebService::Casting::BaseCaster.new(self)
178:       end
Public Instance methods
[](sig_type)

Backwards compatibility with previous API

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 216
216:       def [](sig_type)
217:         case sig_type
218:         when :expects
219:           @expects.map{|x| compat_signature_entry(x)}
220:         when :returns
221:           @returns.map{|x| compat_signature_entry(x)}
222:         end
223:       end
cast_expects(params)

Casts a set of Ruby values into the expected Ruby values

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 187
187:       def cast_expects(params)
188:         @caster.cast_expects(params)
189:       end
cast_returns(return_value)

Cast a Ruby return value into the expected Ruby value

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 192
192:       def cast_returns(return_value)
193:         @caster.cast_returns(return_value)
194:       end
expects_index_of(param_name)

Returns the index of the first expected parameter with the given name

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 198
198:       def expects_index_of(param_name)
199:         return -1 if @expects.nil?
200:         (0..(@expects.length-1)).each do |i|
201:           return i if @expects[i].name.to_s == param_name.to_s
202:         end
203:         -1
204:       end
expects_to_hash(params)

Returns a hash keyed by parameter name for the given parameter list

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 208
208:       def expects_to_hash(params)
209:         return {} if @expects.nil?
210:         h = {}
211:         @expects.zip(params){ |type, param| h[type.name] = param }
212:         h
213:       end
param_names()

The list of parameter names for this method

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 181
181:       def param_names
182:         return [] unless @expects
183:         @expects.map{ |type| type.name }
184:       end
to_s()

String representation of this method

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 226
226:       def to_s
227:         fqn = ""
228:         fqn << (@returns ? (@returns[0].human_name(false) + " ") : "void ")
229:         fqn << "#{@public_name}("
230:         fqn << @expects.map{ |p| p.human_name }.join(", ") if @expects
231:         fqn << ")"
232:         fqn
233:       end