Sha256: e5703c8891394c7a76450730af6c38e83517a506e0bf1d9bc0c318f2b25c2df8
Contents?: true
Size: 847 Bytes
Versions: 18
Compression:
Stored size: 847 Bytes
Contents
module Eco module Data module Files class FilePattern def initialize(file = "") @source_file = file end def resolve(dir: nil, start: "") pattern(dir).gsub('*', start) end def match?(file, dir: nil) /#{Regexp.escape(self.pattern(dir))}/i.match?(file) end def any?(files, dir: nil) return false unless files.is_a?(Array) files.any? { |file| match?(file, dir: dir) } end def pattern(dir = nil) return File.join(dir, "*") if @source_file.to_s.empty? filename = File.basename(@source_file) path = File.dirname(@source_file) path = File.join(dir, path) if dir File.join(path, "*" + filename) end end end end end
Version data entries
18 entries across 18 versions & 1 rubygems