196: def self.match_providers_with_resources(resources)
197: return unless resources
198: matchers = resources.dup
199: @records.each do |record|
200:
201: next if skip_record?(record)
202:
203: if name = record[:name] and resource = resources[name]
204: resource.provider = new(record)
205: elsif respond_to?(:match)
206: if resource = match(record, matchers)
207:
208: matchers.delete(resource.title)
209: record[:name] = resource[:name]
210: resource.provider = new(record)
211: end
212: end
213: end
214: end