Sha256: 90cadea0fea7328d593102cec34605b15c9c9e80d19633ce3d95079e266a513c

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

require 'sow/generators/base'

module Sow

  module Generators

    # = Delete Generator
    #
    #--
    # TODO: should force option be require to do this?
    #       And without force it just reports what would be deleted?
    #++
    class Delete < Base

      def mark; 'delete'; end

      #
      def actionlist_check(list)
        list
      end

      # Sort the manifest files before directory.
      # This is opposite of Construct::Create.
      def actionlist_sort(list)
        list.reverse
        #dirs, files = *list.partition{ |src, dest, opts| (source + src).directory? }
        #files.sort{|a,b| a[1]<=>b[1]} + dirs.sort{|a,b| a[1]<=>b[1]}
      end

      # Delete template file.
      def delete(loc, src, dest, opts)
        if File.exist?(dest)
          how = 'delete'
          begin
            rm(dest)
          rescue Errno::ENOTEMPTY
            how = 'skip'
          end
        else
          how = 'missing'
        end
        return how, dest
      end

    end#class Delete

  end#module Generators

end#module Sow

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sow-0.5 lib/sow/generators/delete.rb
sow-0.4.0 lib/sow/generators/delete.rb