class GoodData::Bricks::WarehouseMiddleware
Connects to the warehouse (ADS) and enriches parameters with GoodData::Datawarehouse
Public Instance Methods
call(params)
click to toggle source
# File lib/gooddata/bricks/middleware/dwh_middleware.rb, line 15 def call(params) if params.key?('ads_client') GoodData.logger.info "Setting up ADS connection to #{params['ads_client']['ads_id'] || params['ads_client']['jdbc_url']}" username = params['ads_client']['username'] || params['GDC_USERNAME'] password = params['ads_client']['password'] || params['GDC_PASSWORD'] instance_id = params['ads_client']['ads_id'] jdbc_url = params['ads_client']['jdbc_url'] sst_token = params['ads_client']['sst'] || params['GDC_SST'] ads = if username.nil? || password.nil? GoodData.logger.info 'Using SST for ADS connection' GoodData::Datawarehouse.new_instance( instance_id: instance_id, jdbc_url: jdbc_url, sst: sst_token ) else GoodData::Datawarehouse.new( username, password, instance_id, jdbc_url: jdbc_url ) end @app.call(params.merge('ads_client' => ads, :ads_client => ads)) else @app.call(params) end end