Top Level Namespace
Defined Under Namespace
Modules: Browser, Nokogiri, Titleize Classes: Array, BigDecimal, Element, FalseClass, Hash, HashObject, Method, NilClass, Numeric, Object, Proc, Roda, String, Symbol, TrueClass, Wedge
Instance Method Summary collapse
-
#require(name) ⇒ Object
rewrite require.
-
#require_relative(name) ⇒ Object
rewrite require_relative.
Instance Method Details
#require(name) ⇒ Object
rewrite require
3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/wedge/require.rb', line 3 def require(name) Kernel.require name return unless defined?(Wedge) && Wedge.respond_to?(:config) if name[/\Awedge/] || name[Dir.pwd] name = name.sub("#{Dir.pwd}/", '').gsub(/\.rb$/, '').gsub(/\//, '__') caller_str = "#{caller[0]}".gsub(/(#{Dir.pwd}\/|.*(?=wedge))/, '').gsub(/:.+$/, '').gsub(/\.rb$/, '').gsub(/\//, '__') if !caller_str['.'] && !(Wedge.config.requires[caller_str] ||= []).include?(name) Wedge.config.requires[caller_str] << name end end end |
#require_relative(name) ⇒ Object
rewrite require_relative
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/wedge/require.rb', line 19 def require_relative(name) caller_str = "#{caller[0]}".gsub(/:.+$/, '').gsub(/\.rb$/, '') caller_path_name = caller_str.gsub(%r{(#{Dir.pwd}/|.*wedge)}, '').gsub(/:.+$/, '').gsub(/^\//, '') path_name = caller_path_name.gsub(/(?<=\/)([^\/]*)$/, "#{name}") path_name = File.(path_name).sub("#{Dir.pwd}/", '') if path_name['..'] path_name = path_name.gsub(/\//, '__') file = caller_str.gsub(/(?<=\/)([^\/]*)$/, "#{name}") caller_path_name = caller_path_name.gsub(/\//, '__') if !caller_path_name['.'] && !(Wedge.config.requires[caller_path_name] ||= []).include?(path_name) Wedge.config.requires[caller_path_name] << path_name end Kernel.require file end |