Sha256: e0cfc5c405fba564f5fb90a917e707edd8c2d851b7357ba28439a6a72960dbbb
Contents?: true
Size: 1.59 KB
Versions: 2
Compression:
Stored size: 1.59 KB
Contents
module IronWorkerNG module Feature module Common module MergeDir class Feature < IronWorkerNG::Feature::Base attr_reader :path attr_reader :dest def initialize(code, path, dest) super(code) @path = path @dest = dest + (dest.empty? || dest.end_with?('/') ? '' : '/') end def hash_string s = @path + @dest + File.mtime(rebase(@path)).to_i.to_s ::Dir.glob(rebase(@path) + '/**/**') do |path| s += path + File.mtime(path).to_i.to_s end Digest::MD5.hexdigest(s) end def bundle(container) IronCore::Logger.debug 'IronWorkerNG', "Bundling dir with path='#{@path}' and dest='#{@dest}'" container_add(container, @dest + File.basename(@path), rebase(@path)) end def command(remote = false) if remote if IronWorkerNG::Fetcher.remote?(rebase(@path)) "dir '#{rebase(@path)}', '#{@dest}'" else "dir '#{@dest}#{File.basename(@path)}', '#{@dest}'" end else "dir '#{@path}', '#{@dest}'" end end end module InstanceMethods def merge_dir(path, dest = '') IronCore::Logger.info 'IronWorkerNG', "Merging dir with path='#{path}' and dest='#{dest}'" @features << IronWorkerNG::Feature::Common::MergeDir::Feature.new(self, path, dest) end alias :dir :merge_dir end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
iron_worker_ng-0.10.4 | lib/iron_worker_ng/feature/common/merge_dir.rb |
iron_worker_ng-0.10.3 | lib/iron_worker_ng/feature/common/merge_dir.rb |