Sha256: a0e9ba60e510dc3b674ce5b50186717b79cf04b5ce0366f8fb64c2fc6303aca7

Contents?: true

Size: 1.71 KB

Versions: 7

Compression:

Stored size: 1.71 KB

Contents

# frozen_string_literal: true

module CiToolkit
  # Bitrise constants
  # noinspection RubyTooManyInstanceVariablesInspection
  class BitriseEnv
    attr_reader :build_number, :build_url,
                :pull_request_number,
                :app_url,
                :git_branch,
                :app_slug,
                :git_commit,
                :repository_slug

    def initialize(options = {
      build_number: ENV.fetch("BITRISE_BUILD_NUMBER", nil),
      build_url: ENV.fetch("BITRISE_BUILD_URL", nil),
      pull_request_number: ENV.fetch("BITRISE_PULL_REQUEST", nil),
      build_from_cron_job: !ENV["BITRISE_SCHEDULED_BUILD"].nil?,
      repository_owner: ENV["BITRISEIO_GIT_REPOSITORY_OWNER"] || "crvshlab",
      repository_slug: ENV.fetch("BITRISEIO_GIT_REPOSITORY_SLUG", nil),
      app_url: ENV.fetch("BITRISE_APP_URL", nil),
      app_slug: ENV.fetch("BITRISE_APP_SLUG", nil),
      git_branch: ENV.fetch("BITRISE_GIT_BRANCH", nil),
      git_commit: ENV.fetch("BITRISE_GIT_COMMIT", nil),
      api_token: ENV.fetch("BITRISE_TOKEN", nil)
    })
      @build_number = options[:build_number]
      @build_url = options[:build_url]
      @pull_request_number = options[:pull_request_number]
      @build_from_cron_job = options[:build_from_cron_job]
      @repository_owner = options[:repository_owner]
      @repository_slug = options[:repository_slug]
      @app_url = options[:app_url]
      @app_slug = options[:app_slug]
      @git_branch = options[:git_branch]
      @git_commit = options[:git_commit]
    end

    def build_from_pr?
      !pull_request_number.nil?
    end

    def build_from_cron_job?
      @build_from_cron_job
    end

    def repository_path
      "#{@repository_owner}/#{@repository_slug}"
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ci_toolkit-1.6.4 lib/ci_toolkit/bitrise_env.rb
ci_toolkit-1.6.3 lib/ci_toolkit/bitrise_env.rb
ci_toolkit-1.6.2 lib/ci_toolkit/bitrise_env.rb
ci_toolkit-1.6.1 lib/ci_toolkit/bitrise_env.rb
ci_toolkit-1.6.0 lib/ci_toolkit/bitrise_env.rb
ci_toolkit-1.5.24 lib/ci_toolkit/bitrise_env.rb
ci_toolkit-1.5.23 lib/ci_toolkit/bitrise_env.rb