class JS::RequireRemote::URLResolver
When require_relative is called within a running Ruby script, the URL is resolved from a relative file path based on the URL of the running Ruby script. It uses a stack to store URLs of running Ruby Script. Push the URL onto the stack before executing the new script. Then pop it when the script has finished executing.
Public Class Methods
new(base_url)
click to toggle source
# File packages/gems/js/lib/js/require_remote/url_resolver.rb, line 11 def initialize(base_url) @url_stack = [base_url] end
Public Instance Methods
get_location(relative_feature)
click to toggle source
# File packages/gems/js/lib/js/require_remote/url_resolver.rb, line 15 def get_location(relative_feature) filename = filename_from(relative_feature) url = resolve(filename) ScriptLocation.new(url, filename) end
inspect()
click to toggle source
# File packages/gems/js/lib/js/require_remote/url_resolver.rb, line 29 def inspect "#{self.class}(#{@url_stack})" end
pop()
click to toggle source
# File packages/gems/js/lib/js/require_remote/url_resolver.rb, line 25 def pop() @url_stack.pop end
push(url)
click to toggle source
# File packages/gems/js/lib/js/require_remote/url_resolver.rb, line 21 def push(url) @url_stack.push url end