module Warbler::Trait
Each trait class includes this module to receive shared functionality.
Attributes
config[R]
Public Class Methods
included(base)
click to toggle source
# File lib/warbler/traits.rb, line 58 def self.included(base) base.extend ClassMethods end
new(config)
click to toggle source
# File lib/warbler/traits.rb, line 63 def initialize(config) @config = config end
Public Instance Methods
add_init_load_path(path)
click to toggle source
# File lib/warbler/traits.rb, line 76 def add_init_load_path(path) config.init_contents << StringIO.new("$LOAD_PATH.unshift File.expand_path(File.join('..', '..', '#{path}'), __FILE__)\n") # with __FILE__ = "uri:classloader:/META-INF/init.rb" # ... will end up as "uri:classloader://xxx-gem/lib" end
add_main_rb(jar, bin_path, params = nil)
click to toggle source
# File lib/warbler/traits.rb, line 82 def add_main_rb(jar, bin_path, params = nil) binary = "".dup binary << "ARGV.unshift('#{params}')\n" if params binary << "load '#{bin_path}'" jar.files['META-INF/main.rb'] = StringIO.new(binary) end
after_configure()
click to toggle source
# File lib/warbler/traits.rb, line 70 def after_configure end
before_configure()
click to toggle source
# File lib/warbler/traits.rb, line 67 def before_configure end
jruby_jars()
click to toggle source
# File lib/warbler/traits.rb, line 100 def jruby_jars require 'jruby-jars' FileList[JRubyJars.core_jar_path, JRubyJars.stdlib_jar_path] end
update_archive(jar)
click to toggle source
# File lib/warbler/traits.rb, line 73 def update_archive(jar) end
update_gem_path(default_gem_path)
click to toggle source
# File lib/warbler/traits.rb, line 89 def update_gem_path(default_gem_path) if config.gem_path != default_gem_path config.gem_path = "/#{config.gem_path}" unless config.gem_path =~ %r{^/} sub_gem_path = config.gem_path[1..-1] config.pathmaps.marshal_dump.keys.each do |pm| config.pathmaps.send(pm).each {|p| p.sub!(default_gem_path[1..-1], sub_gem_path)} end config.webxml["gem"]["path"] = config.gem_path if config.webxml end end