Module: PathMapper
- Extended by:
- Helpers
- Defined in:
- lib/path_mapper.rb,
lib/path_mapper/helpers.rb,
lib/path_mapper/version.rb,
lib/path_mapper/node/dir.rb,
lib/path_mapper/reloader.rb,
lib/path_mapper/node/base.rb,
lib/path_mapper/node/file.rb,
lib/path_mapper/node/null.rb,
lib/path_mapper/helper/debug.rb,
lib/path_mapper/node/dir/erb.rb,
lib/path_mapper/helper/logger.rb,
lib/path_mapper/node/dir/file.rb,
lib/path_mapper/node/dir/grep.rb,
lib/path_mapper/node/file/erb.rb,
lib/path_mapper/helper/storage.rb,
lib/path_mapper/node/base/file.rb,
lib/path_mapper/node/base/grep.rb,
lib/path_mapper/node/file/file.rb,
lib/path_mapper/node/null/file.rb,
lib/path_mapper/patch/pathname.rb,
lib/path_mapper/node/dir/inheritance.rb,
lib/path_mapper/node/dir/representation.rb,
lib/path_mapper/node/base/representation.rb,
lib/path_mapper/node/file/representation.rb,
lib/path_mapper/node/null/representation.rb,
lib/path_mapper/node/dir/inheritance/base.rb,
lib/path_mapper/node/dir/inheritance/grep.rb
Defined Under Namespace
Modules: Helper, Helpers, Node, Patch, Reloader Classes: DirNode, FileNode, NullNode
Constant Summary collapse
- VERSION =
'0.0.3'
Class Method Summary collapse
Methods included from Helpers
Methods included from Helper::Storage
#delete_storage_branch, #deleted_files, #storage, #storage_file_delete, #storage_file_tree, #storage_tree
Methods included from Helper::Logger
#logger, #logger=, #with_logger
Methods included from Helper::Debug
#dry_run, #dry_run=, #with_dry_run
Class Method Details
.new(path, **kwargs) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/path_mapper.rb', line 41 def self.new(path, **kwargs) path = Pathname(path) unless path.is_a? Pathname if File.exists? path if File.directory? path self.with_dry_run {|dry_run| self.storage_tree(path) if !self.storage.key?(path) and dry_run } return DirNode.new(path, **kwargs) elsif !File.read(path).strip.empty? self.with_dry_run {|dry_run| self.storage_file_tree(path) if !self.storage.key?(path) and dry_run } return FileNode.new(path, **kwargs) end end self.with_dry_run do |dry_run| if self.storage.key? path and !self.deleted_files.include? path if self.storage[path].nil? return DirNode.new(path, **kwargs) elsif !self.storage[path].strip.empty? return FileNode.new(path, **kwargs) end end if dry_run end NullNode.new(path, **kwargs) end |