Class ActionWebService::API::Method
In: vendor/rails/actionwebservice/lib/action_web_service/api.rb
Parent: Object

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

Methods

Attributes

expects  [R] 
name  [R] 
public_name  [R] 
returns  [R] 

Public Class methods

[Source]

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 168
168:       def initialize(name, public_name, expects, returns)
169:         @name = name
170:         @public_name = public_name
171:         @expects = expects
172:         @returns = returns
173:         @caster = ActionWebService::Casting::BaseCaster.new(self)
174:       end

Public Instance methods

Backwards compatibility with previous API

[Source]

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 212
212:       def [](sig_type)
213:         case sig_type
214:         when :expects
215:           @expects.map{|x| compat_signature_entry(x)}
216:         when :returns
217:           @returns.map{|x| compat_signature_entry(x)}
218:         end
219:       end

Casts a set of Ruby values into the expected Ruby values

[Source]

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 183
183:       def cast_expects(params)
184:         @caster.cast_expects(params)
185:       end

Cast a Ruby return value into the expected Ruby value

[Source]

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

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

[Source]

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

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

[Source]

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

The list of parameter names for this method

[Source]

     # File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 177
177:       def param_names
178:         return [] unless @expects
179:         @expects.map{ |type| type.name }
180:       end

String representation of this method

[Source]

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

[Validate]