Sha256: 46e3ab202944bbb1d54baa3b20f66562015d2001fd55d175f82f282964b45dfc
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
# frozen_string_literal: true require 'hard_cider/version' require 'hard_cider/client' require 'hard_cider/utils' module HardCider CLIENT_OPTIONS = %i[key_id issuer_id private_key].freeze private_constant :CLIENT_OPTIONS DEFAULTS = { frequency: 30, timeout: 3600 }.freeze # @param bundle_id [String] # @param options [Hash] # @return [Boolean] def self.wait(bundle_id:, **options) options = DEFAULTS.merge(options) client = HardCider::Client.new( options.slice(*CLIENT_OPTIONS) ) timeout_at = Time.now + options[:timeout] loop do options[:before_wait]&.call return true if client.latest_build_processed?(bundle_id) return false if Time.now > timeout_at sleep(options[:frequency]) end end # @param bundle_id [String] # @param options [Hash] # @return [String] def self.state(bundle_id:, **options) client = HardCider::Client.new( options.slice(*CLIENT_OPTIONS) ) client.latest_build(bundle_id).dig(:attributes, :processing_state) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hard_cider-0.3.0 | lib/hard_cider.rb |
hard_cider-0.2.0 | lib/hard_cider.rb |