#
# @return [String] The service id.
def id
- return @discovery_document['id']
+ return (
+ @discovery_document['id'] ||
+ "#{self.name}:#{self.version}"
+ )
end
##
end
##
- # Returns the parsed section of the discovery document that applies to
- # this version of the service.
+ # Returns a human-readable title for the API.
#
- # @return [Hash] The service description.
+ # @return [Hash] The API title.
+ def title
+ return @discovery_document['title']
+ end
+
+ ##
+ # Returns a human-readable description of the API.
+ #
+ # @return [Hash] The API description.
def description
return @discovery_document['description']
end
+ ##
+ # Returns a URI for the API documentation.
+ #
+ # @return [Hash] The API documentation.
+ def documentation
+ return Addressable::URI.parse(@discovery_document['documentationLink'])
+ end
+
##
# Returns true if this is the preferred version of this API.
#
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[k] = Google::APIClient::Schema.parse(self, v)
accu
end
)
)
end
+ ##
+ # Allows deep inspection of the discovery document.
+ def [](key)
+ return @discovery_document[key]
+ end
+
##
# Converts the service to a flat mapping of RPC names and method objects.
#