Class: Naether::Java::Ruby
- Inherits:
-
Object
- Object
- Naether::Java::Ruby
- Includes:
- Singleton
- Defined in:
- lib/naether/java.rb
Overview
Handle loading jars for Ruby via Rjb
Instance Attribute Summary collapse
-
#loaded_jars ⇒ Object
readonly
Returns the value of attribute loaded_jars.
Instance Method Summary collapse
- #convert_to_ruby_array(java_array, to_string = false) ⇒ Object
- #convert_to_ruby_hash(java_hash, to_string = false) ⇒ Object
- #create(java_class, *args) ⇒ Object
-
#initialize ⇒ Ruby
constructor
A new instance of Ruby.
- #load_jars(jars) ⇒ Object
- #set_log_level(level) ⇒ Object
Constructor Details
#initialize ⇒ Ruby
Returns a new instance of Ruby.
126 127 128 129 130 131 132 133 134 |
# File 'lib/naether/java.rb', line 126 def initialize() require 'rjb' # Call Rjb::load with an empty classpath, incase Rjb::load has already been called java_opts = (ENV['JAVA_OPTS'] || ENV['JAVA_OPTIONS']).to_s.split Rjb::load("", java_opts) @loaded_jars = [] end |
Instance Attribute Details
#loaded_jars ⇒ Object (readonly)
Returns the value of attribute loaded_jars.
124 125 126 |
# File 'lib/naether/java.rb', line 124 def loaded_jars @loaded_jars end |
Instance Method Details
#convert_to_ruby_array(java_array, to_string = false) ⇒ Object
166 167 168 169 170 171 172 173 174 |
# File 'lib/naether/java.rb', line 166 def convert_to_ruby_array( java_array, to_string = false ) ruby_array = java_array.toArray() if to_string ruby_array = ruby_array.map { |x| x.toString()} end ruby_array end |
#convert_to_ruby_hash(java_hash, to_string = false) ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 |
# File 'lib/naether/java.rb', line 176 def convert_to_ruby_hash( java_hash, to_string = false ) hash = {} keys = java_hash.keySet() iterator = keys.iterator() if to_string while iterator.hasNext() key = iterator.next().toString() hash[key] = java_hash.get( key ).toString() end else while iterator.hasNext() key = iterator.next() hash[key] = java_hash.get( key ) end end hash end |
#create(java_class, *args) ⇒ Object
136 137 138 139 |
# File 'lib/naether/java.rb', line 136 def create( java_class, *args ) java_class = Rjb::import(java_class) java_class.new( *args ) end |
#load_jars(jars) ⇒ Object
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
# File 'lib/naether/java.rb', line 145 def load_jars(jars) loadable_jars = [] unless jars.is_a?( Array ) jars = [jars] end jars.each do |jar| = File.(jar) if !@loaded_jars.include? loadable_jars << @loaded_jars << end end unless loadable_jars.empty? Rjb::add_jar( loadable_jars ) end loadable_jars end |
#set_log_level(level) ⇒ Object
141 142 143 |
# File 'lib/naether/java.rb', line 141 def set_log_level( level ) Rjb::import('com.slackworks.naether.LogUtil').changeLevel( 'com.slackworks', level ) end |