Guest User

Untitled

a guest
Feb 19th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. def find_resource_entry(filename, opts={}, seen=nil)
  2. extname = File.extname(filename)
  3. rootname = filename.gsub(/#{extname}$/,'')
  4. entry_extname = entry_rootname = nil
  5.  
  6. ret = entries_for(:resource, opts.merge(:hidden => :none)).reject do |entry|
  7. entry_extname = File.extname(entry.filename)
  8. entry_rootname = entry.filename.gsub(/#{entry_extname}$/,'')
  9.  
  10. ext_match = (extname.nil? || extname.size == 0) || (entry_extname == extname)
  11. !(ext_match && (/#{rootname}$/ =~ entry_rootname))
  12. end
  13.  
  14. ret = ret.first
  15.  
  16. if ret.nil?
  17. seen = Set.new if seen.nil?
  18. seen << self
  19. all_required_bundles.each do |bundle|
  20. next if seen.include?(bundle) # avoid recursion
  21. ret = bundle.find_resource_entry(filename, opts, seen)
  22. return ret unless ret.nil?
  23. end
  24. end
  25. return ret
  26. end
Add Comment
Please, Sign In to add comment