Added ability to update the base URI in services, resources, and methods.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@102 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
This commit is contained in:
parent
f63bf8199f
commit
38f5bc5baf
|
@ -89,6 +89,21 @@ module Google
|
|||
return @base ||= Addressable::URI.parse(self.description['baseUrl'])
|
||||
end
|
||||
|
||||
##
|
||||
# Updates the hierarchy of resources and methods with the new base.
|
||||
#
|
||||
# @param [Addressable::URI, #to_str, String] new_base
|
||||
# The new base URI to use for the service.
|
||||
def base=(new_base)
|
||||
@base = Addressable::URI.parse(new_base)
|
||||
self.resources.each do |resource|
|
||||
resource.base = @base
|
||||
end
|
||||
self.methods.each do |method|
|
||||
method.base = @base
|
||||
end
|
||||
end
|
||||
|
||||
##
|
||||
# A list of resources available at the root level of this version of the
|
||||
# service.
|
||||
|
@ -244,6 +259,21 @@ module Google
|
|||
# @return [Addressable::URI] The base URI that methods are joined to.
|
||||
attr_reader :base
|
||||
|
||||
##
|
||||
# Updates the hierarchy of resources and methods with the new base.
|
||||
#
|
||||
# @param [Addressable::URI, #to_str, String] new_base
|
||||
# The new base URI to use for the resource.
|
||||
def base=(new_base)
|
||||
@base = Addressable::URI.parse(new_base)
|
||||
self.resources.each do |resource|
|
||||
resource.base = @base
|
||||
end
|
||||
self.methods.each do |method|
|
||||
method.base = @base
|
||||
end
|
||||
end
|
||||
|
||||
##
|
||||
# A list of sub-resources available on this resource.
|
||||
#
|
||||
|
@ -340,6 +370,16 @@ module Google
|
|||
# The base URI that this method will be joined to.
|
||||
attr_reader :base
|
||||
|
||||
##
|
||||
# Updates the method with the new base.
|
||||
#
|
||||
# @param [Addressable::URI, #to_str, String] new_base
|
||||
# The new base URI to use for the method.
|
||||
def base=(new_base)
|
||||
@base = Addressable::URI.parse(new_base)
|
||||
@uri_template = nil
|
||||
end
|
||||
|
||||
##
|
||||
# Returns the RPC name for the method.
|
||||
#
|
||||
|
|
|
@ -200,6 +200,18 @@ describe Google::APIClient, 'configured for the prediction API' do
|
|||
'https://www.googleapis.com/prediction/v1/training?query=12345'
|
||||
end
|
||||
|
||||
it 'should allow modification to the base URIs for testing purposes' do
|
||||
prediction = @client.discovered_service('prediction', 'v1')
|
||||
prediction.base = 'https://testing-domain.googleapis.com/prediction/v1/'
|
||||
request = @client.generate_request(
|
||||
prediction.training.insert,
|
||||
{'query' => '123'}
|
||||
)
|
||||
method, uri, headers, body = request
|
||||
uri.should ==
|
||||
'https://testing-domain.googleapis.com/prediction/v1/training?query=123'
|
||||
end
|
||||
|
||||
it 'should generate signed requests' do
|
||||
@client.authorization = :oauth_1
|
||||
@client.authorization.token_credential_key = '12345'
|
||||
|
|
Loading…
Reference in New Issue