config_service 1.0.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.
- checksums.yaml +7 -0
- data/config_service.gemspec +17 -0
- data/lib/config_service.rb +16 -0
- data/lib/services/config_service.rb +30 -0
- metadata +88 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ce527c8b797f317bf09e292a976d9b8bdcc8198e
|
4
|
+
data.tar.gz: 515a824b9712084ec00238eb232c01433d031294
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2bbb424521b05ccca412e52287206305c91be086d1e0808babbd093e1caf611c9459b60a918c919fadf77e8ab79d3fa77af1d431beb7e4e5f65bcb58c12ee029
|
7
|
+
data.tar.gz: b8c7ef3f62be038debe0016054f1ac2f0da380c3469601b892d8bd4aa3da6558b20120151e94e0bd1bf74aaff3e8bae90df191f7b414953207062d487687cb10
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'config_service'
|
3
|
+
s.version = '1.0.0'
|
4
|
+
s.summary = "A gem to load config yml files"
|
5
|
+
s.description = "A gem to load config yml files"
|
6
|
+
s.authors = ['Linh Chau']
|
7
|
+
s.email = 'chauhonglinh@gmail.com'
|
8
|
+
s.files = [
|
9
|
+
'./config_service.gemspec', 'lib/config_service.rb',
|
10
|
+
'lib/services/config_service.rb'
|
11
|
+
]
|
12
|
+
s.homepage = 'https://github.com/linhchauatl/config_service'
|
13
|
+
s.license = 'MIT'
|
14
|
+
s.add_runtime_dependency 'logging', '~> 0'
|
15
|
+
s.add_runtime_dependency 'activesupport'
|
16
|
+
s.add_development_dependency 'rspec', '~> 3.1'
|
17
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require_relative 'services/config_service'
|
3
|
+
|
4
|
+
def load_gem_lib(sub_path)
|
5
|
+
spec = Gem::Specification.find_by_name('config_service')
|
6
|
+
rb_files = Dir.glob("#{spec.gem_dir}/lib/#{sub_path}/*.rb")
|
7
|
+
rb_files.each { |rb_file| require rb_file }
|
8
|
+
rescue Exception => error
|
9
|
+
# Who cares?
|
10
|
+
end
|
11
|
+
|
12
|
+
['services'].each do |sub_path|
|
13
|
+
load_gem_lib(sub_path)
|
14
|
+
rb_files = Dir.glob("#{File.expand_path('.')}/lib/#{sub_path}/*.rb")
|
15
|
+
rb_files.each { |rb_file| require rb_file }
|
16
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'active_support'
|
2
|
+
require 'active_support/core_ext'
|
3
|
+
|
4
|
+
class ConfigService
|
5
|
+
class << self
|
6
|
+
def load_config(config_file_name)
|
7
|
+
app_root = (defined? APP_ROOT)? APP_ROOT : File.expand_path('.')
|
8
|
+
|
9
|
+
config_file = nil
|
10
|
+
['conf', 'config'].each do |sub_path|
|
11
|
+
if File.exist?("#{app_root}/#{sub_path}/#{config_file_name}")
|
12
|
+
config_file = "#{app_root}/#{sub_path}/#{config_file_name}"
|
13
|
+
break
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
raise("#{Time.now.strftime("%m/%d/%Y %H:%M:%S.%3N %z")} ERROR: ConfigService#load_config #{config_file_name} file not found.") unless config_file
|
18
|
+
|
19
|
+
YAML.load_file(config_file)
|
20
|
+
end
|
21
|
+
|
22
|
+
def environment
|
23
|
+
return Rails.env if defined? Rails
|
24
|
+
return ENV['RACK_ENV'] if ENV['RACK_ENV'].present?
|
25
|
+
'local'
|
26
|
+
rescue => error
|
27
|
+
'local'
|
28
|
+
end
|
29
|
+
end # class methods
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: config_service
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Linh Chau
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-04-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: logging
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.1'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.1'
|
55
|
+
description: A gem to load config yml files
|
56
|
+
email: chauhonglinh@gmail.com
|
57
|
+
executables: []
|
58
|
+
extensions: []
|
59
|
+
extra_rdoc_files: []
|
60
|
+
files:
|
61
|
+
- "./config_service.gemspec"
|
62
|
+
- lib/config_service.rb
|
63
|
+
- lib/services/config_service.rb
|
64
|
+
homepage: https://github.com/linhchauatl/config_service
|
65
|
+
licenses:
|
66
|
+
- MIT
|
67
|
+
metadata: {}
|
68
|
+
post_install_message:
|
69
|
+
rdoc_options: []
|
70
|
+
require_paths:
|
71
|
+
- lib
|
72
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
requirements: []
|
83
|
+
rubyforge_project:
|
84
|
+
rubygems_version: 2.4.5
|
85
|
+
signing_key:
|
86
|
+
specification_version: 4
|
87
|
+
summary: A gem to load config yml files
|
88
|
+
test_files: []
|