This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.document | Mon May 11 23:03:41 -0700 2009 | |
| |
.gitignore | Mon May 11 23:03:41 -0700 2009 | |
| |
LICENSE | Mon May 11 23:03:41 -0700 2009 | |
| |
README.markdown | Mon May 11 23:22:27 -0700 2009 | |
| |
Rakefile | Mon May 11 23:03:41 -0700 2009 | |
| |
VERSION.yml | Mon May 11 23:03:41 -0700 2009 | |
| |
examples/ | Mon May 11 23:03:41 -0700 2009 | |
| |
http_require.gemspec | Mon May 11 23:03:41 -0700 2009 | |
| |
lib/ | Mon May 11 23:03:41 -0700 2009 |
README.markdown
http_require
Idea
The idea is very simple: test.rb:
# this will download bar.rb and eval its content.
require "http://foo.com/bar.rb"
If a remote file (or one of its local dependencies) requires something that can't be found locally, it will try to find it remotely from the same location as the parent.
Example
http://example.com/test/foo.rb:
# this will load "http://example.com/test/foo/bar.rb"
# if "foo/bar" is not available locally
require "foo/bar"
stacktrace
http_require properly sets filename on eval so that the file's uri appears in the stacktrace:
foo.rb:
puts :foo
require 'bar'
def foo
bar
end
bar.rb
puts :bar
def bar
raise
end
$ irb
>> require 'http_require'
=> true
>> require 'http://localhost:2000/foo.rb'
foo
bar
=> nil
>> foo
RuntimeError:
from http://localhost:2000/bar.rb:3:in `bar'
from http://localhost:2000/foo.rb:5:in `foo'
from (irb):3
>>
Homepage
You can find the latest sources on [github]:(http://github.com/astrails/http_require)
Installation
sudo gem install astrails-http_require --source http://gems.github.com/
Copyright
Copyright (c) 2009 Vitaly Kushner. See LICENSE for details.







