Better way to handle automatic parsing using the schemas in the discovery document.

This commit is contained in:
Bob Aman committed 2011-08-04 23:36:36 -04:00
1 parent b4745890f5
commit 1fa3fb25d9
5 files changed
+182 -8

No files matched your search

+21 -4
View File
@@ -135,15 +135,32 @@ module Google
end
end
##
# A list of schemas available for this version of the API.
#
# @return [Hash] A list of {Google::APIClient::Schema} objects.
def schemas
return @schemas ||= (
(@discovery_document['schemas'] || []).inject({}) do |accu, (k, v)|
accu[k] = Google::APIClient::Schema.new(
self, self.name, self.version, v
)
accu
end
)
end
##
# A list of resources available at the root level of this version of the
# service.
# API.
#
# @return [Array] A list of {Google::APIClient::Resource} objects.
def resources
return @resources ||= (
(@discovery_document['resources'] || []).inject([]) do |accu, (k, v)|
accu << Google::APIClient::Resource.new(self.method_base, k, v)
accu << Google::APIClient::Resource.new(
self, self.method_base, k, v
)
accu
end
)
@@ -151,13 +168,13 @@ module Google
##
# A list of methods available at the root level of this version of the
# service.
# API.
#
# @return [Array] A list of {Google::APIClient::Method} objects.
def methods
return @methods ||= (
(@discovery_document['methods'] || []).inject([]) do |accu, (k, v)|
accu << Google::APIClient::Method.new(self.method_base, k, v)
accu << Google::APIClient::Method.new(self, self.method_base, k, v)
accu
end
)