Sha256: a4d987af199329cd6552baf969821e3aa07cf37db7fbf6fa39c31c9027cc3167

Contents?: true

Size: 1.28 KB

Versions: 10

Compression:

Stored size: 1.28 KB

Contents

require 'thor/group'
require 'fileutils'

class Increment < Thor::Group
  include Thor::Actions
  include DockerMgr::Util

  def self.source_root
    File.expand_path('../templates',__dir__)
  end


  class_option :minor,:aliases => 'm'
  argument :image_name,:type => :string

  def increment
    last_version_dir = Dir.entries("#{base_images_dir}/#{@image_name}")
                          .select {|e| e != "." && e != ".."}
                          .max {|a,b| a[1..-1].to_f <=> b[1..-1].to_f}
    last_number =  last_version_dir[1..-1].to_f

    new_number = options[:minor] ? last_number + 0.1 : last_number.to_i + 1.0
    new_number_format = '%.1f' % new_number
    empty_directory "#{base_images_dir}/#{@image_name}/v#{new_number_format}"
    FileUtils.cp_r "#{base_images_dir}/#{@image_name}/#{last_version_dir}/.",
                   "#{base_images_dir}/#{@image_name}/v#{new_number_format}"

    if File.exist? "#{base_images_dir}/#{@image_name}/v#{new_number_format}/build.sh"
      FileUtils.rm "#{base_images_dir}/#{@image_name}/v#{new_number_format}/build.sh"
    end
    @version = new_number_format
    template 'build.erb',"#{base_images_dir}/#{@image_name}/v#{new_number_format}/build.sh"
    FileUtils.chmod 0755, "#{base_images_dir}/#{@image_name}/v#{new_number_format}/build.sh"


  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
dockersitter-0.8.1 lib/commands/increment.rb
dockersitter-0.8.0 lib/commands/increment.rb
dockersitter-0.7.0 lib/commands/increment.rb
dockersitter-0.6.0 lib/commands/increment.rb
dockersitter-0.5.0 lib/commands/increment.rb
dockersitter-0.4.0 lib/commands/increment.rb
dockersitter-0.3.0 lib/commands/increment.rb
dockersitter-0.2.2 lib/commands/increment.rb
dockersitter-0.2.1 lib/commands/increment.rb
dockersitter-0.2.0 lib/commands/increment.rb