liferay_database_config_reader 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rdoc ADDED
@@ -0,0 +1,25 @@
1
+ = Liferay Database Config Reader
2
+
3
+ == Setup
4
+ jgem install liferay_database_config_reader
5
+
6
+ Add the gem dependency in config/warble.rb
7
+ config.gems << 'liferay_database_config_reader'
8
+
9
+ Create a preinitializer.rb in config/ if you do not have one, after add the snippet below
10
+ if RUBY_PLATFORM =~ /java/ and ENV['RAILS_ENV'] == 'production'
11
+ require 'rubygems'
12
+ require 'liferay_database_config_reader'
13
+ LiferayDatabaseConfigReader.init!
14
+ end
15
+
16
+ Change you config/database.yml
17
+ <% l = LiferayDatabaseConfigReader.attr %>
18
+ production:
19
+ adapter: <%= l[:adapter] %>
20
+ database: <%= l[:database] %>
21
+ username: <%= l[:username] %>
22
+ password: <%= l[:password] %>
23
+ encoding: unicode
24
+ pool: 5
25
+ timeout: 5000
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ begin
2
+ require 'jeweler'
3
+ Jeweler::Tasks.new do |gemspec|
4
+ gemspec.name = "liferay_database_config_reader"
5
+ gemspec.summary = "Allow the rails portlet app to read and configure database with liferay portal-ext.properties"
6
+ gemspec.description = "Allow the rails portlet app to read and configure database with liferay portal-ext.properties"
7
+ gemspec.email = "ornelas.tulio@gmail.com"
8
+ gemspec.homepage = "http://github.com/tulios/liferay_database_config_reader"
9
+ gemspec.authors = ["Túlio Ornelas"]
10
+ gemspec.test_files = Dir.glob('spec/*_spec.rb')
11
+ gemspec.add_development_dependency "rspec", ">= 2.0.1"
12
+ gemspec.add_development_dependency "rspec-core", ">= 2.0.1"
13
+ end
14
+ Jeweler::GemcutterTasks.new
15
+ rescue LoadError
16
+ puts "Jeweler not available. Install it with: gem install jeweler"
17
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,40 @@
1
+ require 'java'
2
+ java_import java.util.Properties
3
+ java_import java.io.FileInputStream
4
+
5
+ module LiferayDatabaseConfigReader
6
+
7
+ @@properties ||= {}
8
+
9
+ CATALINA_HOME = java.lang.System.getProperty('catalina.home')
10
+ PROPERTIES_EXT_FILE = 'portal-ext.properties'
11
+ WEB_INF_CLASSES = CATALINA_HOME + '/webapps/ROOT/WEB-INF/classes/'
12
+
13
+ def self.init!
14
+ path = File.expand_path(WEB_INF_CLASSES + PROPERTIES_EXT_FILE)
15
+
16
+ puts "\n[LiferayDatabaseReader] :: RAILS_ENV=#{ENV['RAILS_ENV']}"
17
+ puts "[LiferayDatabaseReader] :: reading #{path}"
18
+
19
+ properties = Properties.new
20
+ properties.load(FileInputStream.new(path))
21
+ url = properties.getProperty("jdbc.default.url")
22
+
23
+ @@properties[:username] = properties.getProperty("jdbc.default.username")
24
+ @@properties[:password] = properties.getProperty("jdbc.default.password")
25
+
26
+ fragments = url.split /\/+/
27
+ raise "Fail to check adapter, host and database in liferay config file" if fragments.nil? or fragments.size < 3
28
+
29
+ @@properties[:adapter] = fragments[0].gsub(':', '')
30
+ @@properties[:host], @@properties[:port] = fragments[1].split(':')
31
+ @@properties[:database] = fragments[2]
32
+
33
+ puts "[LiferayDatabaseReader] :: adapter: #{attr[:adapter]}, host: #{attr[:host]}:#{attr[:port]}, database: #{attr[:database]}\n\n"
34
+ end
35
+
36
+ def self.attr; @@properties end
37
+
38
+ end
39
+
40
+ require 'liferay_database_config_reader'
metadata ADDED
@@ -0,0 +1,101 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: liferay_database_config_reader
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - "T\xC3\xBAlio Ornelas"
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-11-09 00:00:00 -02:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rspec
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 13
30
+ segments:
31
+ - 2
32
+ - 0
33
+ - 1
34
+ version: 2.0.1
35
+ type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec-core
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 13
46
+ segments:
47
+ - 2
48
+ - 0
49
+ - 1
50
+ version: 2.0.1
51
+ type: :development
52
+ version_requirements: *id002
53
+ description: Allow the rails portlet app to read and configure database with liferay portal-ext.properties
54
+ email: ornelas.tulio@gmail.com
55
+ executables: []
56
+
57
+ extensions: []
58
+
59
+ extra_rdoc_files:
60
+ - README.rdoc
61
+ files:
62
+ - README.rdoc
63
+ - Rakefile
64
+ - VERSION
65
+ - lib/liferay_database_config_reader.rb
66
+ has_rdoc: true
67
+ homepage: http://github.com/tulios/liferay_database_config_reader
68
+ licenses: []
69
+
70
+ post_install_message:
71
+ rdoc_options:
72
+ - --charset=UTF-8
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ hash: 3
81
+ segments:
82
+ - 0
83
+ version: "0"
84
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ requirements: []
94
+
95
+ rubyforge_project:
96
+ rubygems_version: 1.3.7
97
+ signing_key:
98
+ specification_version: 3
99
+ summary: Allow the rails portlet app to read and configure database with liferay portal-ext.properties
100
+ test_files: []
101
+