Sha256: 50d4a07cb5f95480abcc78082c09ba4b45b1cb90efa0e286abcfd7743edf9469
Contents?: true
Size: 787 Bytes
Versions: 4
Compression:
Stored size: 787 Bytes
Contents
class Dir def self.tags(pattern) files = {} Dir.glob(pattern).each do |file| tags = File.tags(file) files.merge!({file => tags}) unless tags.empty? end files end def self.taglob(pattern,tags) return glob(pattern) if tags.nil? return Dir.tag_or(pattern,*tags.split('|')) if tags.include?('|') Dir.tag_and(pattern,*tags.split(',')) end def self.tag_and(pattern, *tags) tagged_files = [] self.tags(pattern).each do |file,parsed_tags| tagged_files << file if (tags - parsed_tags).empty? end tagged_files end def self.tag_or(pattern, *tags) tagged_files = [] self.tags(pattern).each do |file,parsed_tags| tagged_files << file if !(tags & parsed_tags).empty? end tagged_files end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
scudco-taglob-1.1.1 | lib/taglob/extensions/dir.rb |
scudco-taglob-1.1.2 | lib/taglob/extensions/dir.rb |
taglob-1.1.2 | lib/taglob/extensions/dir.rb |
taglob-1.1.1 | lib/taglob/extensions/dir.rb |