[NEW] Gestalts for silverlight + popular JS libs
[ohcount] / ruby / gestalt / rules / find_filenames_rule.rb
1 module Ohcount
2         module Gestalt
3
4     # will yield as many triggers as files that match the regexp
5                 class FindFilenamesRule < FileRule
6                         attr_reader :regex
7
8                         def initialize(regex, options = {})
9                                 @regex = regex
10         @triggers = []
11         @name_from_match = options.delete(:name_from_match).to_i
12                                 super(options)
13                         end
14
15       # deep clone
16       def clone
17         self.class.new(@regex,:name_from_match => @name_from_match)
18       end
19
20       def triggers(gestalt_engine)
21         @triggers
22       end
23
24                         def process_source_file(source_file)
25         m = @regex.match(source_file.filename)
26         if m
27           @triggers << Trigger.new(:name => m[@name_from_match])
28         end
29                         end
30
31                 end
32         end
33 end