From: Tilman Sauerbeck Date: Fri, 29 Sep 2006 15:44:43 +0000 (+0200) Subject: Added CruxUtils::Port.find. Patch by Rene Lengwinat. X-Git-Url: http://git.code-monkey.de/?p=ruby-cruxutils.git;a=commitdiff_plain;h=ae41ccd40a1cb98f4f36e51d0309575f9591b5d3 Added CruxUtils::Port.find. Patch by Rene Lengwinat. --- diff --git a/lib/cruxutils.rb b/lib/cruxutils.rb index 5e54bb2..8670fc9 100644 --- a/lib/cruxutils.rb +++ b/lib/cruxutils.rb @@ -1,5 +1,7 @@ module CruxUtils class CruxUtilsError < StandardError; end + + PORTDIRS = Dir["/usr/ports/{core,opt,contrib}"] end require "cruxutils/port.rb" diff --git a/lib/cruxutils/port.rb b/lib/cruxutils/port.rb index ecc1113..a1e839f 100644 --- a/lib/cruxutils/port.rb +++ b/lib/cruxutils/port.rb @@ -20,6 +20,13 @@ class Port tmp end + def Port.find(pattern) + PORTDIRS.inject([]) do |memo, pd| + tmp = Dir["#{pd}/#{pattern}"].map { |d| Port.new(d) } + memo.concat(tmp) + end + end + def initialize(dir) @dir = dir