Sha256: 427c8c9f8c0e36fa6ddef5324a214e8c0d2431dd2223cdb487230e86a5b1e929

Contents?: true

Size: 1.58 KB

Versions: 77

Compression:

Stored size: 1.58 KB

Contents

# encoding: UTF-8
#
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.

require 'pathname'

module GoodData
  module Command
    class Runners
      def self.run_ruby_locally(brick_dir, options = {})
        pid = options[:project_id]
        fail 'You have to specify a project ID' if pid.nil?
        fail 'You have to specify directory of the brick run' if brick_dir.nil?
        fail 'You specified file as a birck run directory. You have to specify directory.' if File.exist?(brick_dir) && !File.directory?(brick_dir)

        params = options[:expanded_params] || {}

        client = GoodData.connect(options[:username], options[:password])
        sst = client.connection.sst_token
        pwd = Pathname.new(Dir.pwd)

        server_uri = URI(options[:server]) unless options[:server].nil?
        scheme = server_uri.nil? ? '' : server_uri.scheme
        hostname = server_uri.nil? ? '' : server_uri.host

        script_body = <<-script_body
        require 'fileutils'
        FileUtils::cd(\"#{pwd + brick_dir}\") do\

          $SCRIPT_PARAMS = {
            "GDC_SST" => \"#{sst}\",
            "GDC_PROJECT_ID" => \"#{pid}\",
            "GDC_PROTOCOL" => \"#{scheme}\",
            "GDC_HOSTNAME" => \"#{hostname}\",
            "GDC_LOGGER_FILE" => STDOUT,
            "GDC_ENV_LOCAL" => true
          }.merge(#{params})
          require './main.rb'
        end
        script_body
        system('ruby', '-e', script_body)
      end
    end
  end
end

Version data entries

77 entries across 77 versions & 1 rubygems

Version Path
gooddata-2.3.1-java lib/gooddata/commands/runners.rb
gooddata-2.3.1 lib/gooddata/commands/runners.rb
gooddata-2.3.0-java lib/gooddata/commands/runners.rb
gooddata-2.3.0 lib/gooddata/commands/runners.rb
gooddata-2.2.0-java lib/gooddata/commands/runners.rb
gooddata-2.2.0 lib/gooddata/commands/runners.rb
gooddata-2.1.19-java lib/gooddata/commands/runners.rb
gooddata-2.1.19 lib/gooddata/commands/runners.rb
gooddata-2.1.17-java lib/gooddata/commands/runners.rb
gooddata-2.1.17 lib/gooddata/commands/runners.rb
gooddata-2.1.15-java lib/gooddata/commands/runners.rb
gooddata-2.1.15 lib/gooddata/commands/runners.rb
gooddata-2.1.14-java lib/gooddata/commands/runners.rb
gooddata-2.1.14 lib/gooddata/commands/runners.rb
gooddata-2.1.13-java lib/gooddata/commands/runners.rb
gooddata-2.1.13 lib/gooddata/commands/runners.rb
gooddata-2.1.12-java lib/gooddata/commands/runners.rb
gooddata-2.1.12 lib/gooddata/commands/runners.rb
gooddata-2.1.11-java lib/gooddata/commands/runners.rb
gooddata-2.1.11 lib/gooddata/commands/runners.rb