Module: Hubris
- Included in:
- Class
- Defined in:
- lib/hubris.rb,
lib/hubris/version.rb,
ext/stub/stub.c
Defined Under Namespace
Modules: Exports
Constant Summary collapse
- HUBRIS_DIR =
ENV['HUBRIS_DIR'] || "/var/hubris"
- SO_CACHE =
File.(HUBRIS_DIR + "/cache")
- HS_CACHE =
File.(HUBRIS_DIR + "/source")
- VERSION =
'0.0.6'
- @@basepackages =
[]
Class Method Summary collapse
Instance Method Summary collapse
-
#hubris(options = { }) ⇒ Object
load the new functions into target.
Class Method Details
.add_packages(packages) ⇒ Object
39 40 41 |
# File 'lib/hubris.rb', line 39 def self.add_packages(packages) @@basepackages.concat packages end |
Instance Method Details
#hubris(options = { }) ⇒ Object
load the new functions into target
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/hubris.rb', line 44 def hubris( = { }) # :inline beats :source beats :mod immediate, source, mod,packages = [:inline,:source,:module,:packages].collect {|x| [x]} build_args = [:no_strict] ? [] : ["--strict"] # puts packages # leaves generated source lying around - might want to clean up, but # useful for debugging too... source = anonymous_module(immediate, build_args) if immediate mod = gen_modname(source) if source raise "code error, should never happen" unless mod require(hubrify(mod,build_args,source||"",packages||[])) # let it crash # bind the functions from the Exports namespace include(eval("Hubris::Exports::#{zencode(mod)}")) end |