Sha256: d30a9ee35bb9299e10af866f750152db753575a1ea49ced50366c0b9d5d43ee2
Contents?: true
Size: 1016 Bytes
Versions: 2
Compression:
Stored size: 1016 Bytes
Contents
module Wordmove class Movefile attr_reader :logger def initialize @logger = Logger.new(STDOUT).tap { |l| l.level = Logger::DEBUG } end def fetch(name = nil, start_dir = current_dir) entries = if name.nil? Dir["#{File.join(start_dir, '{M,m}ovefile')}{,.yml,.yaml}"] else Dir["#{File.join(start_dir, name)}{,.yml,.yaml}"] end if entries.empty? raise MovefileNotFound, "Could not find a valid Movefile" if last_dir?(start_dir) return fetch(name, upper_dir(start_dir)) end found = entries.first logger.task("Using Movefile: #{found}") YAML.safe_load(ERB.new(File.read(found)).result, [], [], true) end private def last_dir?(directory) directory == "/" || File.exist?(File.join(directory, 'wp-config.php')) end def upper_dir(directory) File.expand_path(File.join(directory, '..')) end def current_dir '.' end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
wordmove-2.3.1 | lib/wordmove/movefile.rb |
wordmove-2.3.0 | lib/wordmove/movefile.rb |