class Tagfish::Update::Updater
Attributes
debug[R]
Public Class Methods
new(filters, debug = false)
click to toggle source
# File lib/tagfish/update/updater.rb, line 10 def initialize(filters, debug = false) @filters = filters @debug = debug end
Public Instance Methods
update(tokens)
click to toggle source
# File lib/tagfish/update/updater.rb, line 15 def update(tokens) tokens.map do |token| if token.is_a_uri_token? update_uri_token(token) else token end end end
Private Instance Methods
updatable?(uri)
click to toggle source
# File lib/tagfish/update/updater.rb, line 37 def updatable?(uri) @filters.all? do |filter| filter.call uri end end
update_uri(docker_uri)
click to toggle source
# File lib/tagfish/update/updater.rb, line 43 def update_uri(docker_uri) docker_api = DockerRegistryClient.for(docker_uri, debug) tags = docker_api.tags newest_tag_name = tags.latest_tags.first if newest_tag_name.nil? docker_uri else docker_uri.with_tag(newest_tag_name) end end
update_uri_token(token)
click to toggle source
# File lib/tagfish/update/updater.rb, line 27 def update_uri_token(token) original_uri = DockerURI.parse(token) if updatable?(original_uri) updated_uri = update_uri(original_uri) Tokeniser::URI.new(updated_uri.to_s) else token end end