Sha256: 897835df4a429660b5fd47f5b1c46652c9d253c05aa88ce075834a2038d8940d
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
require 'docker/dockerrun' require 'json' module Docker module Dockerrun class Tag def initialize(new_tag) @new_tag = new_tag end def call open read overwrite_with_new_tag close end private attr_reader :file, :original_json def open @file ||= File.open(FILE_NAME, 'r+') end def read @original_json ||= file.read end def original_hash @original_hash ||= JSON.parse(original_json) end def original_image_value original_hash.fetch 'Image', { } end def original_name_value original_image_value.fetch 'Name', '' end def name_without_tag original_name_value.sub /:.*/, '' end def updated_name "#{name_without_tag}:#{@new_tag}" end def updated_image_value original_image_value.merge 'Name' => updated_name end def updated_hash original_hash.merge 'Image' => updated_image_value end def updated_json JSON.pretty_generate updated_hash end def overwrite_with_new_tag file.rewind file.write updated_json end def close file.close end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
docker-eb-deploy-0.1.1 | lib/docker/dockerrun/tag.rb |