Class: CircleCI

Inherits:
Object
  • Object
show all
Defined in:
lib/mina-circle/circle-ci/circle_ci.rb

Defined Under Namespace

Classes: Artifact, Build, Client, Project

Class Method Summary collapse

Class Method Details

.artifact_url(settings = {}) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/mina-circle/circle-ci/circle_ci.rb', line 2

def self.artifact_url(settings = {})
  project = CircleCI::Project.new(
    organization: settings[:circleci_user],
    name: settings[:circleci_project],
    branch: settings[:branch]
  )

  artifact = project.artifacts.detect { |a|
    a.filename == settings[:circleci_artifact]
  }
  raise 'Missing or invalid URL from CircleCI' unless artifact.contains_valid_url?
  base_url = artifact.url
  base_url.query = URI.encode_www_form({ 'circle-token' => CircleCI::Client.instance.api_token })
  base_url.to_s
end