class KBuilder::FileSegments

Splits a file into its base parts (file, path, file_name, extension and file_name_only)

Provides the interpolate helper to rebuild a different filename using those segments

Attributes

ext[R]
file[R]
file_name[R]
file_name_only[R]
path[R]

Public Class Methods

new(file) click to toggle source
# File lib/k_builder/file_segments.rb, line 14
def initialize(file)
  @file = file
  @path = File.dirname(file)
  @file_name = File.basename(file)
  @ext = File.extname(file)
  @file_name_only = File.basename(file, @ext)
end

Public Instance Methods

interpolate(target_file) click to toggle source
# File lib/k_builder/file_segments.rb, line 22
def interpolate(target_file)
  # p str.gsub( /#{var}/, 'foo' )   # => "a test foo"
  target_file
    .gsub(/\$T_FILE\$/i, file)
    .gsub(/\$T_PATH\$/i, path)
    .gsub(/\$T_FILE_NAME\$/i, file_name)
    .gsub(/\$T_EXT\$/i, ext)
    .gsub(/\$T_FILE_NAME_ONLY\$/i, file_name_only)
end