Sha256: cd617c0a9d6fc8b10076776cf956f02b3dd2631805c5780ed67a8335a0a810c5

Contents?: true

Size: 981 Bytes

Versions: 2

Compression:

Stored size: 981 Bytes

Contents

require "pathname"

module Ykutils
  module PathOp
    def get_buddy_path(fname, append_name = "", extname = "")
      one_path = Pathname.new(fname).expand_path
      dir_path = one_path.dirname
      base_path = one_path.basename(".*")
      append_name = "-2" unless append_name.empty? || extname.empty?
      extname ||= one_path.extname

      [one_path, dir_path.join(base_path.to_s + append_name + extname)]
    end

    def determine_fname_for_update(fname, ext = ".bak")
      get_buddy_path(fname, "", ext)
    end

    def determine_fname_for_update2(fname)
      begin
        ctime = File.ctime(fname)
      rescue YkutilsError => e
        puts e
      end
      ctime ||= Time.now
      ary = ctime.to_s.split
      extname = File.extname(fname)
      append = ["", ary[0], ary[1].gsub(":", "-")].join("-")
      get_buddy_path(fname, append, extname)
    end

    def file_ensure(fname)
      File.open(fname, "w").close unless File.exist?(fname)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ykutils-0.1.10 lib/ykutils/pathop.rb
ykutils-0.1.8 lib/ykutils/pathop.rb