lib/soaspec/o_auth2.rb in soaspec-0.1.10 vs lib/soaspec/o_auth2.rb in soaspec-0.1.11

- old
+ new

@@ -1,19 +1,27 @@ require 'erb' module Soaspec # Handles working with OAuth2 class OAuth2 + class << self + # Default token url used across entire suite + attr_accessor :token_url + end + + # [Hash] OAuth parameters attr_accessor :params # Count of tries to obtain access token attr_accessor :retry_count - # @param [Hash] params Parameters to make OAuth request + # @param [Hash] params_sent Parameters to make OAuth request # @param [String] api_username Username to use which can be set by Soaspec::ExchangeHandler - def initialize(params, api_username) + def initialize(params_sent, api_username = nil) + params = params_sent.transform_keys_to_symbols + params[:token_url] ||= Soaspec::OAuth2.token_url raise 'client_id and client_secret not set' unless params[:client_id] && params[:client_secret] - raise 'token_url mandatory' unless params[:token_url] + raise ArgumentError, 'token_url mandatory' unless params[:token_url] self.params = params params[:username] = api_username || ERB.new(params[:username]).result(binding) if params[:username] params[:security_token] = ERB.new(params[:security_token]).result(binding) if params[:security_token] params[:token_url] = ERB.new(params[:token_url]).result(binding) if params[:token_url] params[:password] = ERB.new(params[:password]).result(binding) if params[:password] @@ -60,8 +68,7 @@ } else { grant_type: 'client_credentials' } end) end - end end \ No newline at end of file