Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def find_resource_entry(filename, opts={}, seen=nil)
- extname = File.extname(filename)
- rootname = filename.gsub(/#{extname}$/,'')
- entry_extname = entry_rootname = nil
- ret = entries_for(:resource, opts.merge(:hidden => :none)).reject do |entry|
- entry_extname = File.extname(entry.filename)
- entry_rootname = entry.filename.gsub(/#{entry_extname}$/,'')
- ext_match = (extname.nil? || extname.size == 0) || (entry_extname == extname)
- !(ext_match && (/#{rootname}$/ =~ entry_rootname))
- end
- ret = ret.first
- if ret.nil?
- seen = Set.new if seen.nil?
- seen << self
- all_required_bundles.each do |bundle|
- next if seen.include?(bundle) # avoid recursion
- ret = bundle.find_resource_entry(filename, opts, seen)
- return ret unless ret.nil?
- end
- end
- return ret
- end
Add Comment
Please, Sign In to add comment