Sha256: 8fd24ec0ed62f637ffdac6e4564e7d41a2b3c5c7c4ebc180685f0d613f95fe89

Contents?: true

Size: 1.08 KB

Versions: 3

Compression:

Stored size: 1.08 KB

Contents

require 'open-uri'
require 'json'
require 'build'

module MatrixCi
  class CircleCi
    def user_login
      @userlogin ||= begin
                       result = open("https://circleci.com/api/v1/me?circle-token=#{@token}").read

                       JSON.parse(result)["login"]
                     end
    end

    def recent_build_for(project_name, username)
      result = open("https://circleci.com/api/v1/project/#{username}/#{project_name}?circle-token=#{@token}").read
    end

    def all_recent_builds
      result = open("https://circleci.com/api/v1/recent-builds?circle-token=#{@token}").read
      builds = JSON.parse(result)
      builds.map do |build|
        b = Build.new(id: build["build_num"], branch: build["branch"], committer: build["committer_name"],started: build["start_time"],ended: build["stop_time"], outcome: build["outcome"], ref: build["vcs_revision"], subject: build["subject"], projectname: build["vcs_url"].split("/").last)

        b.mine if user_login == build["user"]["login"]
        b
      end
    end

    def initialize(token)
      @token = token
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
matrixci-0.0.7 lib/adapters/circleci.rb
matrixci-0.0.6 lib/adapters/circleci.rb
matrixci-0.0.5 lib/adapters/circleci.rb