Sha256: b39de418e128fd46ea69941affa433f9cd2833ec95e2265827108cef3df76d19
Contents?: true
Size: 1.56 KB
Versions: 2
Compression:
Stored size: 1.56 KB
Contents
require 'rubygems' require 'faraday' require 'faraday_middleware' require 'hashie/mash' module Buildbox class API def initialize(config = Buildbox.config) @config = config end def authenticate(api_key) @api_key = api_key get("user") end def agent(access_token, hostname) put("agents/#{access_token}", :hostname => hostname) end def scheduled_builds(project) get(project.scheduled_builds_url).map { |build| Buildbox::Build.new(build) } end def update_build(build) put(build.url, :started_at => build.started_at, :finished_at => build.finished_at, :output => build.output, :exit_status => build.exit_status) end private def connection @connection ||= Faraday.new(:url => @config.api_endpoint) do |faraday| faraday.basic_auth @api_key || @config.api_key, '' faraday.request :json faraday.response :logger, Buildbox.logger faraday.response :mashify # json needs to come after mashify as it needs to run before the mashify # middleware. faraday.response :json faraday.response :raise_error faraday.adapter Faraday.default_adapter end end def post(path, body = {}) connection.post(path) do |request| request.body = body end.body end def put(path, body = {}) connection.put(path) do |request| request.body = body end.body end def get(path) connection.get(path).body end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
buildbox-0.3.3 | lib/buildbox/api.rb |
buildbox-0.3.2 | lib/buildbox/api.rb |