Sha256: 6a95b2d5e01f9d19a21b292bf5f7bcb40d73e1e33df1edd2b84553c2d5a2806d

Contents?: true

Size: 954 Bytes

Versions: 20

Compression:

Stored size: 954 Bytes

Contents

module Templater
  module Actions
    class Directory < File
      def identical?
        sanity = ::File.directory?(destination) && exists?
        if sanity
          src  = Dir[::File.join(source, "**", "*")]
          src.map! {|f| f.gsub(/#{source}/, "")}
          dest = Dir[::File.join(destination, "**", "*")]
          dest.map!   {|f| f.gsub(/#{destination}/, "")}
          src == dest
        else
          false
        end
      end
    end
  end
end

module Templater
  module Actions
    class File < Action

      # Renders the template and copies it to the destination.
      def invoke!
        callback(:before)
        ::FileUtils.mkdir_p(::File.dirname(destination))
        ::FileUtils.rm_rf(destination)
        ::FileUtils.cp_r(source, destination)
        callback(:after)
      end
    
      # removes the destination file
      def revoke!
        ::FileUtils.rm_r(destination, :force => true)
      end

    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
merb-gen-1.1.3 lib/merb-gen/templater.rb
merb-gen-1.1.2 lib/merb-gen/templater.rb
merb-gen-1.1.1 lib/merb-gen/templater.rb
merb-gen-1.1.0 lib/merb-gen/templater.rb
merb-gen-1.1.0.rc1 lib/merb-gen/templater.rb
merb-gen-1.1.0.pre lib/merb-gen/templater.rb
merb-gen-1.0.15 lib/merb-gen/templater.rb
merb-gen-1.0.14 lib/merb-gen/templater.rb
merb-gen-1.0.13 lib/merb-gen/templater.rb
merb-gen-1.0.12 lib/merb-gen/templater.rb
merb-gen-1.0.11 lib/merb-gen/templater.rb
merb-gen-1.0.10 lib/merb-gen/templater.rb
merb-gen-1.0.7.1 lib/merb-gen/templater.rb
merb-gen-1.0.8 lib/merb-gen/templater.rb
merb-gen-1.0.8.1 lib/merb-gen/templater.rb
merb-gen-1.0.7 lib/merb-gen/templater.rb
merb-gen-1.0.6.1 lib/merb-gen/templater.rb
merb-gen-1.0.6 lib/merb-gen/templater.rb
merb-gen-1.0.5 lib/merb-gen/templater.rb
merb-gen-1.0.9 lib/merb-gen/templater.rb