Module: Warbler::Trait
- Included in:
- Warbler::Traits::Bundler, Warbler::Traits::Gemspec, Warbler::Traits::JBundler, Warbler::Traits::Jar, Warbler::Traits::NoGemspec, Warbler::Traits::Rack, Warbler::Traits::Rails, Warbler::Traits::War
- Defined in:
- lib/warbler/traits.rb
Overview
Each trait class includes this module to receive shared functionality.
Defined Under Namespace
Modules: ClassMethods
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Class Method Summary collapse
Instance Method Summary collapse
- #add_init_load_path(path) ⇒ Object
- #add_main_rb(jar, bin_path, params = nil) ⇒ Object
- #after_configure ⇒ Object
- #before_configure ⇒ Object
- #initialize(config) ⇒ Object
- #jruby_jars ⇒ Object
- #update_archive(jar) ⇒ Object
- #update_gem_path(default_gem_path) ⇒ Object
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
62 63 64 |
# File 'lib/warbler/traits.rb', line 62 def config @config end |
Class Method Details
.included(base) ⇒ Object
58 59 60 |
# File 'lib/warbler/traits.rb', line 58 def self.included(base) base.extend ClassMethods end |
Instance Method Details
#add_init_load_path(path) ⇒ Object
76 77 78 79 80 |
# 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) ⇒ Object
82 83 84 85 86 87 |
# 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 ⇒ Object
70 71 |
# File 'lib/warbler/traits.rb', line 70 def after_configure end |
#before_configure ⇒ Object
67 68 |
# File 'lib/warbler/traits.rb', line 67 def before_configure end |
#initialize(config) ⇒ Object
63 64 65 |
# File 'lib/warbler/traits.rb', line 63 def initialize(config) @config = config end |
#jruby_jars ⇒ Object
100 101 102 103 |
# 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) ⇒ Object
73 74 |
# File 'lib/warbler/traits.rb', line 73 def update_archive(jar) end |
#update_gem_path(default_gem_path) ⇒ Object
89 90 91 92 93 94 95 96 97 98 |
# 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 |