From eecd3b39178b8100db7b7614caf590f3c3d7502b Mon Sep 17 00:00:00 2001 From: Marcin Kulik Date: Mon, 20 Feb 2012 21:52:21 +0100 Subject: [PATCH] Configuration with confstruct --- .gitignore | 1 + Gemfile | 1 + Gemfile.lock | 2 ++ app/uploaders/basic_uploader.rb | 2 +- config/application.rb | 2 ++ config/confstruct.rb | 9 +++++++++ 6 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 config/confstruct.rb diff --git a/.gitignore b/.gitignore index c5e27fc..d82fc11 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ config/*.yml rerun.txt pickle-email-*.html .jhw-cache/ +config/local.yml diff --git a/Gemfile b/Gemfile index 23d5fbd..12e51f5 100644 --- a/Gemfile +++ b/Gemfile @@ -5,6 +5,7 @@ gem 'jquery-rails' gem 'mysql2' gem 'tzinfo' gem 'carrierwave' +gem 'confstruct' # Gems used only for assets and not required # in production environments by default. diff --git a/Gemfile.lock b/Gemfile.lock index 6a9f3c4..491aae2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -49,6 +49,7 @@ GEM coffee-script-source execjs coffee-script-source (1.2.0) + confstruct (0.2.1) diff-lcs (1.1.3) erubis (2.7.0) execjs (1.3.0) @@ -167,6 +168,7 @@ DEPENDENCIES capybara carrierwave coffee-rails + confstruct factory_girl_rails guard guard-jasmine diff --git a/app/uploaders/basic_uploader.rb b/app/uploaders/basic_uploader.rb index fea0484..2be8bbf 100644 --- a/app/uploaders/basic_uploader.rb +++ b/app/uploaders/basic_uploader.rb @@ -7,7 +7,7 @@ class BasicUploader < CarrierWave::Uploader::Base # include CarrierWave::MiniMagick # Choose what kind of storage to use for this uploader: - storage :file + storage CFG.carrierwave_storage # storage :fog # Override the directory where uploaded files will be stored. diff --git a/config/application.rb b/config/application.rb index fb426c8..c3f015d 100644 --- a/config/application.rb +++ b/config/application.rb @@ -15,6 +15,8 @@ if defined?(Bundler) # Bundler.require(:default, :assets, Rails.env) end +require_relative 'confstruct' + module AsciiIo class Application < Rails::Application # Settings in config/environments/* take precedence over those specified here. diff --git a/config/confstruct.rb b/config/confstruct.rb new file mode 100644 index 0000000..106a8d1 --- /dev/null +++ b/config/confstruct.rb @@ -0,0 +1,9 @@ +app_cfg_file = File.expand_path(File.dirname(__FILE__) + '/app.yml') +cfg_hash = YAML.load_file(app_cfg_file)[Rails.env] + +local_cfg_file = File.expand_path(File.dirname(__FILE__) + '/local.yml') +local_hash = YAML.load_file(local_cfg_file)[Rails.env] rescue {} + +cfg_hash.merge!(local_hash) + +CFG = Confstruct::Configuration.new(cfg_hash)