Sha256: 64619aa0a60a94177fbde96a3bee85002e32aadc13f637d2a58fb7f7e77610b2

Contents?: true

Size: 1.28 KB

Versions: 4

Compression:

Stored size: 1.28 KB

Contents

require 'gooddata'

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 = {}

      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

4 entries across 4 versions & 1 rubygems

Version Path
gooddata-0.6.0.pre10 lib/gooddata/bricks/middleware/restforce_middleware.rb
gooddata-0.6.0.pre9 lib/gooddata/bricks/middleware/restforce_middleware.rb
gooddata-0.6.0.pre8 lib/gooddata/bricks/middleware/restforce_middleware.rb
gooddata-0.6.0.pre7 lib/gooddata/bricks/middleware/restforce_middleware.rb