Sha256: b757d5d2eae08015d7549ca34d86819fda28a249f90f7281d409962fe8fde74b

Contents?: true

Size: 573 Bytes

Versions: 2

Compression:

Stored size: 573 Bytes

Contents

require 'open-uri'
require 'tins/xt'
require 'json'
require 'uri'

module AmpelExtase
  class SemaphoreClient
    def initialize(url)
      @url = url
    end

    attr_reader :url

    def fetch
      puts "Fetching #{url.inspect}."
      JSON open(url).read
    rescue => e
      e.message << " for #{url.inspect}"
      raise
    end

    def fetch_build(type)
      builds = fetch['builds']
      case type
      when :last_completed_build
        builds.detect { |build| !!build['finished_at'] }
      when :last_build
        builds.first
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ampel_extase-0.8.0 lib/ampel_extase/semaphore_client.rb
ampel_extase-0.7.2 lib/ampel_extase/semaphore_client.rb