rjb-loader 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA512:
3
+ data.tar.gz: 4b39a5510ce897bd45c0eb733b3156abe65d7f6e0f9423b6400bb4d2416e076978002e88880547bc48482830763b553575ec8d45901a2bb1c11bd3998b1aceab
4
+ metadata.gz: 8dfe27cd2d8fab9c47b9fbd86009b8f9c7bdabad5c1b80309e9bc03b469d0b83ff181303053640b5ec66d42ebcc892fd070ebad6864a461b21f41f3c01211ea0
5
+ SHA1:
6
+ data.tar.gz: 64954ec39a32bf6453f062ed6fb525e55cf19910
7
+ metadata.gz: d0685b571738a602df3f7b988bce4475d4dc22ed
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ .DS_Store
6
+ .project
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+
2
+ Copyright (C) 2013 Marlus Saraiva
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining
5
+ a copy of this software and associated documentation files (the
6
+ "Software"), to deal in the Software without restriction, including
7
+ without limitation the rights to use, copy, modify, merge, publish,
8
+ distribute, sublicense, and/or sell copies of the Software, and to
9
+ permit persons to whom the Software is furnished to do so, subject to
10
+ the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,56 @@
1
+ # rjb-loader
2
+
3
+ Rjb (Ruby Java Bridge) loader with before_load and after_load hooks
4
+
5
+ # Description
6
+ When working with multiple gems or several rails initializer files that use Rjb,
7
+ you need to make sure that java dependencies of each implementation
8
+ get all set up before running Rjb::load. This is necessary because Rjb can only be loaded once.
9
+
10
+ You can use rjb-loader to change classpath and java options, by adding 'before_load' to your gem or rails initializer.
11
+
12
+ The 'after_load' hook can be used when your code needs an already loaded Rjb.
13
+ For instance, when you need to import and use the java classes.
14
+
15
+ ## Install
16
+
17
+ ```
18
+ gem install rjb-loader
19
+ ```
20
+
21
+ ## Configure
22
+
23
+ Add `rjb-loader` to your Gemfile:
24
+
25
+ ```ruby
26
+ gem "rjb-loader"
27
+ ```
28
+
29
+ For any issues related to the java/ruby integration, please check out: [http://rjb.rubyforge.org/](http://rjb.rubyforge.org/). You will find here plenty tips that might help you to solve your problem.
30
+
31
+ ## Using rjb-loader
32
+
33
+ TODO
34
+
35
+ ## LICENSE
36
+
37
+ Copyright (C) 2013 Marlus Saraiva
38
+
39
+ Permission is hereby granted, free of charge, to any person obtaining
40
+ a copy of this software and associated documentation files (the
41
+ "Software"), to deal in the Software without restriction, including
42
+ without limitation the rights to use, copy, modify, merge, publish,
43
+ distribute, sublicense, and/or sell copies of the Software, and to
44
+ permit persons to whom the Software is furnished to do so, subject to
45
+ the following conditions:
46
+
47
+ The above copyright notice and this permission notice shall be
48
+ included in all copies or substantial portions of the Software.
49
+
50
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
51
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
52
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
53
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
54
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
55
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
56
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
data/lib/rjb-loader.rb ADDED
@@ -0,0 +1,76 @@
1
+ #
2
+ # Copyright (C) 2013 Marlus Saraiva
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining
5
+ # a copy of this software and associated documentation files (the
6
+ # "Software"), to deal in the Software without restriction, including
7
+ # without limitation the rights to use, copy, modify, merge, publish,
8
+ # distribute, sublicense, and/or sell copies of the Software, and to
9
+ # permit persons to whom the Software is furnished to do so, subject to
10
+ # the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+
23
+ require "rjb-loader/version"
24
+ require "rjb"
25
+ require "rails"
26
+
27
+ module RjbLoader
28
+
29
+ class Config
30
+ attr_accessor :classpath
31
+ attr_accessor :java_options
32
+ end
33
+
34
+ class << self
35
+ attr_accessor :before_load_blocks
36
+ attr_accessor :after_load_blocks
37
+ attr_accessor :config
38
+ end
39
+
40
+ self.before_load_blocks = []
41
+ self.after_load_blocks = []
42
+ self.config = Config.new
43
+ self.config.classpath = '.'
44
+ self.config.java_options = ['-Djava.awt.headless=true','-Xms128M', '-Xmx256M']
45
+
46
+ def self.before_load &block
47
+ self.before_load_blocks << block
48
+ end
49
+
50
+ def self.after_load &block
51
+ self.after_load_blocks << block
52
+ end
53
+
54
+ def self.init
55
+ before_load_blocks.each do |block|
56
+ block.call(config)
57
+ end
58
+
59
+ if Rjb.loaded?
60
+ ::Rails.logger.error "Rjb already loaded! RjbLoader configuration options like 'config.classpath' and 'config.java_options' will not apply."
61
+ else
62
+ Rjb::load( config.classpath, config.java_options )
63
+ end
64
+
65
+ after_load_blocks.each do |block|
66
+ block.call(config)
67
+ end
68
+ end
69
+
70
+ class Railtie < Rails::Railtie
71
+ config.after_initialize do
72
+ RjbLoader.init
73
+ end
74
+ end
75
+
76
+ end
@@ -0,0 +1,4 @@
1
+ # -*- encoding: utf-8 -*-
2
+ module RjbLoader
3
+ VERSION = "0.0.1"
4
+ end
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "rjb-loader/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "rjb-loader"
7
+ s.version = RjbLoader::VERSION
8
+ s.authors = ["Marlus Saraiva"]
9
+ s.summary = %q{Rjb loader with before_load and after_load hooks}
10
+ s.description = %q{When working with multiple gems or several rails initializer files that use Rjb,
11
+ you need to make sure that all java dependencies of each implementation
12
+ gets set up before running Rjb::load. This is necessary because Rjb can be loaded only once.
13
+ You can use rjb-loader to change classpath and java options, by adding 'before_load' to your gem or rails initializer.
14
+ The 'after_load' hook can be used when your code needs an already loaded Rjb.
15
+ For instance, when you need to import and use java classes.}
16
+ s.email = "marlussaraiva@grupofortes.com.br"
17
+ s.homepage = "https://github.com/fortesinformatica/rjb-loader"
18
+
19
+ s.files = `git ls-files`.split("\n")
20
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
22
+ s.require_paths = ["lib"]
23
+
24
+ s.add_dependency('rjb', '1.4.3')
25
+ s.add_dependency('rails', '>= 3.2')
26
+ end
metadata ADDED
@@ -0,0 +1,84 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rjb-loader
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Marlus Saraiva
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2013-07-05 00:00:00 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rjb
16
+ prerelease: false
17
+ requirement: &id001 !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "="
20
+ - !ruby/object:Gem::Version
21
+ version: 1.4.3
22
+ type: :runtime
23
+ version_requirements: *id001
24
+ - !ruby/object:Gem::Dependency
25
+ name: rails
26
+ prerelease: false
27
+ requirement: &id002 !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: "3.2"
32
+ type: :runtime
33
+ version_requirements: *id002
34
+ description: |-
35
+ When working with multiple gems or several rails initializer files that use Rjb,
36
+ you need to make sure that all java dependencies of each implementation
37
+ gets set up before running Rjb::load. This is necessary because Rjb can be loaded only once.
38
+ You can use rjb-loader to change classpath and java options, by adding 'before_load' to your gem or rails initializer.
39
+ The 'after_load' hook can be used when your code needs an already loaded Rjb.
40
+ For instance, when you need to import and use java classes.
41
+ email: marlussaraiva@grupofortes.com.br
42
+ executables: []
43
+
44
+ extensions: []
45
+
46
+ extra_rdoc_files: []
47
+
48
+ files:
49
+ - .gitignore
50
+ - Gemfile
51
+ - LICENSE.txt
52
+ - README.md
53
+ - Rakefile
54
+ - lib/rjb-loader.rb
55
+ - lib/rjb-loader/version.rb
56
+ - rjb-loader.gemspec
57
+ homepage: https://github.com/fortesinformatica/rjb-loader
58
+ licenses: []
59
+
60
+ metadata: {}
61
+
62
+ post_install_message:
63
+ rdoc_options: []
64
+
65
+ require_paths:
66
+ - lib
67
+ required_ruby_version: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - &id003
70
+ - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: "0"
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - *id003
76
+ requirements: []
77
+
78
+ rubyforge_project:
79
+ rubygems_version: 2.0.3
80
+ signing_key:
81
+ specification_version: 4
82
+ summary: Rjb loader with before_load and after_load hooks
83
+ test_files: []
84
+