lib/google_apis/api/base/instance_methods.rb in google-apis-0.1.3 vs lib/google_apis/api/base/instance_methods.rb in google-apis-0.1.4

- old
+ new

@@ -4,17 +4,18 @@ module InstanceMethods attr_accessor :connection, :discovered_api def initialize(options = {}) - options = options.symbolize_keys + config, params = options.symbolize_keys.partition{|(k, v)| [:email_address, :private_key].include?(k)}.collect{|x| Hash[x]} - config, default_params = options.partition{|(k, v)| [:email_address, :private_key].include?(k)}.collect{|x| Hash[x] unless x.empty?} - @connection = config ? GoogleApis::Connection.new(config) : GoogleApis.connection + @connection = config.empty? ? GoogleApis.connection : GoogleApis::Connection.new(config) raise Error, "Please ensure a Google API connection" unless @connection + params = GoogleApis.config.merge(params).inject({}){|h, (k, v)| h[k.to_s.gsub(/_(.)/){$1.upcase}.to_sym] = v if v; h} + @discovered_api = connection.discover_api self.class.api, self.class.version - @default_params = (default_params || {}).inject({}){|h, (k, v)| h[k.to_s.gsub(/_(.)/){$1.upcase}.to_sym] = v; h} + @default_params = params.select{|k, v| self.class.default_parameters.include?(k)} end def execute(api_method, *params) params[0] = (params[0] || {}).symbolize_keys params[0].reverse_merge!(default_params)