activeconfig 0.6.1 → 0.6.2
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/VERSION.yml
CHANGED
data/activeconfig.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "activeconfig"
|
8
|
-
s.version = "0.6.
|
8
|
+
s.version = "0.6.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jeremy Lawler"]
|
12
|
-
s.date = "2012-08-
|
12
|
+
s.date = "2012-08-27"
|
13
13
|
s.description = "An extremely flexible configuration system.\ns the ability for certain values to be \"overridden\" when conditions are met.\nr example, you could have your production API keys only get read when the Rails.env == \"production\""
|
14
14
|
s.email = "jeremylawler@gmail.com"
|
15
15
|
s.executables = ["active_config"]
|
@@ -31,7 +31,17 @@ class ActiveConfig
|
|
31
31
|
Socket.gethostname
|
32
32
|
}
|
33
33
|
@symbols[:hostname_short]=proc {|sym_table| sym_table[:hostname].call(sym_table).sub(/\..*$/, '').freeze}
|
34
|
-
@symbols[:rails_env]=proc { |sym_table|
|
34
|
+
@symbols[:rails_env]=proc { |sym_table|
|
35
|
+
if defined?(RAILS_ENV)
|
36
|
+
RAILS_ENV
|
37
|
+
elsif defined?(Rails) and Rails.respond_to?(:env)
|
38
|
+
Rails.env
|
39
|
+
elsif ENV['ACTIVE_CONFIG_FORCE_RAILS_ENV']
|
40
|
+
ENV['ACTIVE_CONFIG_FORCE_RAILS_ENV']
|
41
|
+
else
|
42
|
+
ENV['RAILS_ENV']
|
43
|
+
end
|
44
|
+
}
|
35
45
|
@symbols[:overlay]=proc { |sym_table| ENV['ACTIVE_CONFIG_OVERLAY']}
|
36
46
|
@symbols.add_write_hook do
|
37
47
|
ac_instance.flush_cache
|
data/lib/active_config_rails.rb
CHANGED
@@ -1,6 +1,30 @@
|
|
1
1
|
|
2
2
|
module ActiveConfigRails
|
3
3
|
module Generators
|
4
|
+
class ForceUpgradeGenerator < ::Rails::Generators::Base
|
5
|
+
namespace 'active_config:upgrade'
|
6
|
+
source_root File.expand_path('../active_config_rails/templates', __FILE__)
|
7
|
+
|
8
|
+
def generate_config
|
9
|
+
template 'active_config_initializer.rb', 'config/initializers/active_config.rb'
|
10
|
+
end
|
11
|
+
|
12
|
+
def insert_to_application
|
13
|
+
ln = "require File.expand_path('../initializers/active_config', __FILE__)\n"
|
14
|
+
append_to_file 'config/boot.rb', ln
|
15
|
+
end
|
16
|
+
def convert_database_yaml
|
17
|
+
copy_file 'database.yml', 'config/database.yml'
|
18
|
+
copy_file 'rails.yml', 'etc/rails.yml'
|
19
|
+
|
20
|
+
|
21
|
+
#comment = "\n # Set the logging destination(s)\n %s\n"
|
22
|
+
#insert_into_file 'config/environments/development.rb', comment % 'config.log_to = %w[stdout file]', :before => %r/^end\s*$/
|
23
|
+
#insert_into_file 'config/environments/production.rb', comment % 'config.log_to = %w[file]', :before => %r/^end\s*$/
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
4
28
|
class InstallGenerator < ::Rails::Generators::Base
|
5
29
|
namespace 'active_config:install'
|
6
30
|
source_root File.expand_path('../active_config_rails/templates', __FILE__)
|
@@ -12,6 +36,7 @@ module ActiveConfigRails
|
|
12
36
|
def insert_to_application
|
13
37
|
ln = "require File.expand_path('../initializers/active_config', __FILE__)\n"
|
14
38
|
prepend_to_file 'config/application.rb', ln
|
39
|
+
append_to_file 'config/boot.rb', ln
|
15
40
|
end
|
16
41
|
def convert_database_yaml
|
17
42
|
empty_directory('etc')
|
@@ -1,14 +1,29 @@
|
|
1
1
|
require 'active_config'
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
module ActiveConfigRails
|
3
|
+
def init_conf
|
4
|
+
if Object.const_defined? :CONF
|
5
|
+
Object.send(:remove_const, :CONF)
|
6
|
+
end
|
7
|
+
|
8
|
+
etc_dir = File.dirname(File.expand_path(__FILE__)) + '/../../etc'
|
9
|
+
Object.const_set(:CONF,ActiveConfig.new(:path => etc_dir))
|
10
|
+
end
|
11
|
+
module_function :init_conf
|
5
12
|
end
|
13
|
+
ActiveConfigRails.init_conf
|
6
14
|
|
7
|
-
|
8
|
-
|
15
|
+
if CONF.rails && CONF.rails.env and not ENV['ACTIVE_CONFIG_FORCE_RAILS_ENV']
|
16
|
+
ENV['ACTIVE_CONFIG_FORCE_RAILS_ENV']=CONF.rails.env
|
17
|
+
ENV['RAILS_ENV']||=CONF.rails.env
|
18
|
+
ActiveConfigRails.init_conf
|
19
|
+
end
|
9
20
|
|
10
|
-
if CONF.rails.force_env and not ENV['ACTIVE_CONFIG_FORCE_RAILS_ENV']
|
21
|
+
if CONF.rails && CONF.rails.force_env and not ENV['ACTIVE_CONFIG_FORCE_RAILS_ENV']
|
11
22
|
ENV['ACTIVE_CONFIG_FORCE_RAILS_ENV']=CONF.rails.force_env
|
23
|
+
if ENV['RAILS_ENV']
|
24
|
+
STDERR.puts "WARNING: ACTIVE CONFIG IS OVERRIDING YOUR ENVIRONMENT VARIABLE RAILS_ENV!\nPLEASE FIX YOUR rails.yml!"
|
25
|
+
end
|
12
26
|
ENV['RAILS_ENV']=CONF.rails.force_env
|
27
|
+
ActiveConfigRails.init_conf
|
13
28
|
end
|
14
29
|
|
@@ -1,8 +1,12 @@
|
|
1
|
-
# If you need to
|
1
|
+
# If you need to set a rails env for a host
|
2
2
|
# make a host override of this file and
|
3
|
-
# set the
|
3
|
+
# set the env key. This will not override
|
4
|
+
# the RAILS_ENV environment variable.
|
4
5
|
#
|
5
|
-
#
|
6
|
-
#
|
6
|
+
# On the other hand, force_env WILL override the
|
7
|
+
# RAILS_ENV environment variable. In short,
|
8
|
+
# both of thse are crazy dangerous if they
|
9
|
+
# aren't in a host override. In fact, force_env
|
10
|
+
# is probably pretty close to bat-shit-crazy.
|
7
11
|
|
8
|
-
|
12
|
+
env: ~
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activeconfig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdoc
|
16
|
-
requirement: &
|
16
|
+
requirement: &16056160 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.12'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *16056160
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &16070380 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>'
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.0.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *16070380
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: jeweler
|
38
|
-
requirement: &
|
38
|
+
requirement: &16068780 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: 1.8.3
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *16068780
|
47
47
|
description: ! 'An extremely flexible configuration system.
|
48
48
|
|
49
49
|
s the ability for certain values to be "overridden" when conditions are met.
|
@@ -100,7 +100,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
100
100
|
version: '0'
|
101
101
|
segments:
|
102
102
|
- 0
|
103
|
-
hash:
|
103
|
+
hash: 3156518043701645317
|
104
104
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|