Sha256: ba39dbad1de1e1c98b97ece7bfbf7f04ea0a956cbc1120fed9e882b751386c83

Contents?: true

Size: 1.53 KB

Versions: 1

Compression:

Stored size: 1.53 KB

Contents

# encoding: UTF-8

require 'gooddata'

require_relative 'base_middleware'

module GoodData::Bricks
  class RestForceMiddleware < GoodData::Bricks::Middleware
    def call(params)
      username = params[:salesforce_username]
      password = params[:salesforce_password]
      token = params[:salesforce_token]
      client_id = params[:salesforce_client_id]
      client_secret = params[:salesforce_client_secret]
      oauth_token = params[:salesforce_oauth_token]
      refresh_token = params[:salesforce_refresh_token]
      host = params[:salesforce_host]

      credentials = if (username && password && token)
                      {
                        :username => username,
                        :password => password,
                        :security_token => token
                      }
                    elsif (oauth_token && refresh_token)
                      {
                        :oauth_token => oauth_token,
                        :refresh_token => refresh_token
                      }
                    end

      client = if credentials
                 credentials.merge!({
                                      :client_id => client_id,
                                      :client_secret => client_secret,
                                    })
                 credentials[:host] = host unless host.nil?

                 Restforce.log = true if params[:salesforce_client_logger]
                 Restforce.new(credentials)
               end
      @app.call(params.merge(:salesforce_client => client))
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gooddata-0.6.0 lib/gooddata/bricks/middleware/restforce_middleware.rb