class ProspectusDockerhub::Build
Helper for automatically adding build status check
Public Class Methods
new(repo_slug)
click to toggle source
# File lib/prospectus_dockerhub.rb, line 29 def initialize(repo_slug) @repo_slug = repo_slug || raise('No repo specified') end
Public Instance Methods
extended(other)
click to toggle source
# File lib/prospectus_dockerhub.rb, line 33 def extended(other) # rubocop:disable Metrics/MethodLength actual_val, expected_val = parse_status other.deps do item do name 'dockerhub' expected do static set expected_val end actual do static set actual_val end end end end
Private Instance Methods
base_url()
click to toggle source
# File lib/prospectus_dockerhub.rb, line 76 def base_url 'https://hub.docker.com/v2/repositories' end
json()
click to toggle source
# File lib/prospectus_dockerhub.rb, line 68 def json @json ||= JSON.parse(open(url).read) # rubocop:disable Security/Open end
parse_status()
click to toggle source
# File lib/prospectus_dockerhub.rb, line 55 def parse_status return [status, status] if GOOD_STATUSES.include?(status) [status, 'done'] end
status()
click to toggle source
# File lib/prospectus_dockerhub.rb, line 60 def status @status ||= STATUS_MAP[status_code] end
status_code()
click to toggle source
# File lib/prospectus_dockerhub.rb, line 64 def status_code @status_code ||= json['results'].first['status'] end
url()
click to toggle source
# File lib/prospectus_dockerhub.rb, line 72 def url "#{base_url}/#{@repo_slug}/buildhistory/?page_size=1&page=1" end