Method: Utils::Grepper#initialize
- Defined in:
- lib/utils/grepper.rb
#initialize(opts = {}) ⇒ Grepper
Returns a new instance of Grepper.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/utils/grepper.rb', line 32 def initialize(opts = {}) @args = opts[:args] || {} @roots = opts[:roots] || [] @config = opts[:config] || Utils::Config::ConfigFile.new if n = @args.values_at(*%w[A B C]).compact.first if n.to_s =~ /\A\d+\Z/ and (n = n.to_i) >= 1 @queue = Queue.new n else raise ArgumentError, "needs to be an integer number >= 1" end end @paths = [] pattern_opts = opts.subhash(:pattern) | { :cset => @args['a'], :icase => @args['i'], } @pattern = @args['R'] ? FuzzyPattern.new(pattern_opts) : RegexpPattern.new(pattern_opts) @name_pattern = if name_pattern = @args['N'] RegexpPattern.new(:pattern => name_pattern) elsif name_pattern = @args['n'] FuzzyPattern.new(:pattern => name_pattern) end @skip_pattern = if skip_pattern = @args['S'] RegexpPattern.new(:pattern => skip_pattern) elsif skip_pattern = @args['s'] FuzzyPattern.new(:pattern => skip_pattern) end end |