29 lines
708 B
Ruby
29 lines
708 B
Ruby
module ActionWebService # :nodoc:
|
|
module Client # :nodoc:
|
|
class ClientError < StandardError # :nodoc:
|
|
end
|
|
|
|
class Base # :nodoc:
|
|
def initialize(api, endpoint_uri)
|
|
@api = api
|
|
@endpoint_uri = endpoint_uri
|
|
end
|
|
|
|
def method_missing(name, *args) # :nodoc:
|
|
call_name = method_name(name)
|
|
return super(name, *args) if call_name.nil?
|
|
self.perform_invocation(call_name, args)
|
|
end
|
|
|
|
private
|
|
def method_name(name)
|
|
if @api.has_api_method?(name.to_sym)
|
|
name.to_s
|
|
elsif @api.has_public_api_method?(name.to_s)
|
|
@api.api_method_name(name.to_s).to_s
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|