1 # Copyright 2010 Google Inc.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
15 module Google #:nodoc:
17 # This class manages communication with a single API.
20 def initialize(options={})
22 # TODO: What configuration options need to go here?
24 unless @options[:parser]
25 require 'google/api_client/parser/json_parser'
26 # NOTE: Do not rely on this default value, as it may change
27 @options[:parser] = JSONParser.new
29 unless @options[:authentication]
30 require 'google/api_client/auth/oauth_1'
31 # NOTE: Do not rely on this default value, as it may change
32 @options[:authentication] = OAuth1.new
34 unless @options[:transport]
35 require 'google/api_client/transport/http_transport'
36 @options[:transport] = HTTPTransport
41 # Returns the parser used by the client.
43 return @options[:parser]
46 def build_request(*args, &block)
47 if !args.empty? || block
49 # TODO(bobaman): No-op / Debug code!
52 require 'google/api_client/discovery/method_builder'
53 return ::Google::APIClient::MethodBuilder.new(self, :build_request)
59 require 'google/api_client/version'