lib/sugar-high/array.rb in sugar-high-0.3.3 vs lib/sugar-high/array.rb in sugar-high-0.3.4
- old
+ new
@@ -1,24 +1,51 @@
require 'sugar-high/kind_of'
+require 'sugar-high/path'
class Array
def to_symbols option=nil
res = self.flatten
res.map!{|a| a.kind_of?(Fixnum) ? "_#{a}" : a} if option == :num
res.select_labels.map(&:to_s).map(&:to_sym)
end
- def to_strings option=nil
+ def to_strings
self.flatten.select_labels.map(&:to_s)
end
+
+ def to_filenames
+ self.to_strings.map(&:underscore)
+ end
+
+
+ def to_paths
+ self.map(&:path)
+ end
+
+ def file_join
+ File.join(*self.flatten)
+ end
+
+ def to_files
+ self.map{|fp| fp.path.to_file }
+ self.extend FilesArray
+ end
def none?
self.flatten.compact.empty?
end
def flat_uniq
self.flatten.compact.uniq
- end
+ end
+end
+
+module FilesArray
+ def delete_all!
+ self.each do |f|
+ f.delete! if f.kind_of?(File)
+ end
+ end
end
class NilClass
def flat_uniq
[]