configvars_rails 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -28,14 +28,23 @@ Configuration variables are defined as follows:
28
28
  ConfigVars.string :variable_name, 'default value'
29
29
  ConfigVars.string(:variable_name) { 'block producing default value' }
30
30
 
31
- It is safe to define configuration variables at any time. Variables can be
32
- redefined. Other plugins can define their own variables, as long as they include
33
- configvars_rails as a gem dependency, to ensure proper load order.
31
+ It is safe to define configuration variables anywhere in your code - make sure
32
+ it gets loaded in development mode, though! The scaffold defines a couple
33
+ variables in config/initializers/config_vars.rb
34
+
35
+ Variables can be redefined. Other plugins can define their own variables, as
36
+ long as they include configvars_rails as a gem dependency, to ensure proper load
37
+ order.
34
38
 
35
39
  When the application is running, a rudimentary UI for editing configuration
36
40
  variables is available at
37
41
  http://your-app-server/config_vars
38
42
 
43
+ By default, the page is protected with HTTP Basic authentication. The default
44
+ username:password combo is config:vars. The credentials can be tweaked by
45
+ (you guessed!) changing the config_vars.http_user and config_vars.http_password
46
+ configuration variables.
47
+
39
48
  == Note on Patches/Pull Requests
40
49
 
41
50
  * Fork the project.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{configvars_rails}
8
- s.version = "0.2.1"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Victor Costan"]
12
- s.date = %q{2010-08-09}
12
+ s.date = %q{2010-08-10}
13
13
  s.description = %q{This gem provides a model and simple controller for
14
14
  storing global application configuration in a database. This allows the
15
15
  configuration to change without source code modifications.}
@@ -34,10 +34,9 @@ module ControllerInstanceMethods
34
34
 
35
35
  defined_names = ConfigvarsRails.variable_names
36
36
  default_names = defined_names - @config_vars.map { |var| var.name.to_sym }
37
- @default_vars = {}
38
- default_names.map(&:to_s).sort.each do |name|
39
- @default_vars[name] = ConfigvarsRails.variable_descriptor(name)
40
- end
37
+ @default_vars = default_names.map { |name|
38
+ [name.to_s, ConfigvarsRails.variable_descriptor(name)]
39
+ }.sort
41
40
 
42
41
  respond_to do |format|
43
42
  format.html # index.html.erb
@@ -3,12 +3,12 @@ class ConfigVarsController < ApplicationController
3
3
  config_vars_controller
4
4
 
5
5
  # Configuration variables are usually sensitive, so let's put some protection
6
- # around modifying them. At the very least, change the password here.
7
- USER, PASSWORD = 'config', 'vars'
6
+ # around modifying them.
8
7
  before_filter :http_basic_check
9
8
  def http_basic_check
10
9
  authenticate_or_request_with_http_basic do |user, password|
11
- user == USER && password == PASSWORD
10
+ user == ConfigVar['config_vars.http_user'] &&
11
+ password == ConfigVar['config_vars.http_password']
12
12
  end
13
13
  end
14
14
  private :http_basic_check
@@ -1,4 +1,8 @@
1
- # Definitions for configuration variables used in this application.
1
+ # Used in the scaffolded ConfigVarsController.
2
+ ConfigVars.string 'config_vars.http_user', 'config'
3
+ ConfigVars.string 'config_vars.http_password', 'vars'
2
4
 
3
- ConfigVars.string 'simple_var', 'simple_val'
4
- ConfigVars.string('block_var') { Time.now }
5
+ # Example use only. Remove after reading.
6
+ ConfigVars.string('block_example') { Time.now }
7
+
8
+ # Define your own configuration variables here.
@@ -20,8 +20,9 @@ class ConfigVarsControllerApiTest < ActionController::TestCase
20
20
 
21
21
  assert assigns(:config_vars).include?(config_vars(:app_uri)),
22
22
  "@config_vars doesn't have a database fixture"
23
- assert assigns(:default_vars).has_key?('simple_var'),
24
- "@default_vars doesn't have a simple_var"
23
+ assert assigns(:default_vars).map(&:first).
24
+ include?('config_vars.http_user'),
25
+ "@default_vars doesn't have config_vars:http_user"
25
26
  end
26
27
 
27
28
  test "should get new" do
@@ -36,10 +37,10 @@ class ConfigVarsControllerApiTest < ActionController::TestCase
36
37
  end
37
38
 
38
39
  test "new with preset name and default value" do
39
- get :new, :name => 'simple_var'
40
+ get :new, :name => 'config_vars.http_user'
40
41
  assert_response :success
41
- assert_equal 'simple_var', assigns(:config_var).name
42
- assert_equal 'simple_val', assigns(:config_var).value
42
+ assert_equal 'config_vars.http_user', assigns(:config_var).name
43
+ assert_equal 'config', assigns(:config_var).value
43
44
  end
44
45
 
45
46
  test "should create config_var" do
@@ -2,14 +2,13 @@ require File.expand_path('../test_helper', __FILE__)
2
2
 
3
3
  class DescriptorTest < ActiveSupport::TestCase
4
4
  setup do
5
- @simple_desc = ConfigvarsRails.variable_descriptor 'simple_var'
6
- @block_desc = ConfigvarsRails.variable_descriptor 'block_var'
5
+ @simple_desc = ConfigvarsRails.variable_descriptor 'config_vars.http_user'
6
+ @block_desc = ConfigvarsRails.variable_descriptor 'block_example'
7
7
  end
8
8
 
9
9
  test 'default_value' do
10
- assert_equal 'simple_val', @simple_desc.default_value
11
- assert_in_delta Time.now, @block_desc.default_value, 0.1,
12
- 'first block call'
10
+ assert_equal 'config', @simple_desc.default_value
11
+ assert_in_delta Time.now, @block_desc.default_value, 0.1
13
12
  end
14
13
 
15
14
  test 'value_type' do
@@ -17,6 +16,6 @@ class DescriptorTest < ActiveSupport::TestCase
17
16
  end
18
17
 
19
18
  test 'default_value fallback in ConfigVar[]' do
20
- assert_equal 'simple_val', ConfigVar['simple_var']
19
+ assert_equal 'config', ConfigVar['config_vars.http_user']
21
20
  end
22
21
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configvars_rails
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 1
10
- version: 0.2.1
9
+ - 2
10
+ version: 0.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Victor Costan
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-09 00:00:00 -04:00
18
+ date: 2010-08-10 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency