189: def self.match_providers_with_resources(resources)
190: return unless resources
191: matchers = resources.dup
192: @records.each do |record|
193:
194: next if skip_record?(record)
195:
196: if name = record[:name] and resource = resources[name]
197: resource.provider = new(record)
198: elsif respond_to?(:match)
199: if resource = match(record, matchers)
200:
201: matchers.delete(resource.title)
202: record[:name] = resource[:name]
203: resource.provider = new(record)
204: end
205: end
206: end
207: end