Sha256: 2599caa17419b72cf726931866a29d8d0fc236d529bae8802256a303607900cf

Contents?: true

Size: 961 Bytes

Versions: 3

Compression:

Stored size: 961 Bytes

Contents

require 'gooddata'

module GoodData::Bricks
  class GoodDataMiddleware < GoodData::Bricks::Middleware

    def call(params)
      logger = params[:gdc_logger]
      token_name = :GDC_SST
      protocol_name = :GDC_PROTOCOL
      server_name = :GDC_SERVER
      project_id = params[:GDC_PROJECT_ID]

      fail "SST (SuperSecureToken) not present in params" if params[token_name].nil?
      server = if !params[protocol_name].empty? && !params[server_name].empty?
        params[protocol_name] + "://" + params[server_name]
      end

      fail "GoodData username is missing. Expected param :GDC_USERANME" if params[:GDC_USERNAME].nil?
      fail "GoodData password is missing. Expected param :GDC_PASSWORD" if params[:GDC_PASSWORD].nil?

      GoodData.connect(params[:GDC_USERNAME], params[:GDC_PASSWORD], {:server => server})
      GoodData.logger = logger
      GoodData.with_project(project_id) do |p|
        @app.call(params)
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

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