configvars_rails 0.5.3 → 0.6.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 25e308bc1f988ecdb0f724e46c93b72a11e9a532
4
+ data.tar.gz: 8552099b84de63bc7835d6336401baafa68c03ef
5
+ SHA512:
6
+ metadata.gz: b48af680f2fde547c4db473f16d16e0943f9b31fec1142738b3731d5ce8a466fae969fe6d4c4244fd73c64d53f9e8dc9c5aa68b30f42ea54b24e5bba1b1e5be7
7
+ data.tar.gz: a63fd4be66995cd3b4822adc5747419a88bdbeee13b6f10e02abac8cdd9442aa4b73dab4acbec90da7a408f6399d11e265a6fe14e5915d23cb3a4945d948858d
data/.project CHANGED
@@ -13,5 +13,6 @@
13
13
  </buildSpec>
14
14
  <natures>
15
15
  <nature>org.radrails.rails.core.railsnature</nature>
16
+ <nature>com.aptana.ruby.core.rubynature</nature>
16
17
  </natures>
17
18
  </projectDescription>
data/.travis.yml ADDED
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ env:
3
+ - DB=mysql:utf8_general_ci
4
+ - DB=mysql:utf8_bin
5
+ - DB=pg DB_USER=postgres
6
+ - DB=sqlite
7
+ gemfile:
8
+ - Gemfile.rails3
9
+ - Gemfile.rails4
10
+ rvm:
11
+ - 1.9.3
12
+ - 2.0.0
data/Gemfile CHANGED
@@ -1,8 +1,10 @@
1
- source "http://rubygems.org"
2
- gem "rails", ">= 3.2.0"
1
+ source 'http://rubygems.org'
2
+ gem 'rails', '>= 3.2.16'
3
3
 
4
4
  group :development do
5
- gem "bundler", ">= 1.0.0"
6
- gem "jeweler", ">= 1.8.3"
7
- gem "sqlite3", ">= 1.3.5"
5
+ gem 'bundler', '>= 1.3.5'
6
+ gem 'jeweler', '>= 1.8.8'
7
+ gem 'mysql2', '>= 0.3.14'
8
+ gem 'pg', '>= 0.17.0'
9
+ gem 'sqlite3', '>= 1.3.8'
8
10
  end
data/Gemfile.lock CHANGED
@@ -1,95 +1,128 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- actionmailer (3.2.2)
5
- actionpack (= 3.2.2)
6
- mail (~> 2.4.0)
7
- actionpack (3.2.2)
8
- activemodel (= 3.2.2)
9
- activesupport (= 3.2.2)
4
+ actionmailer (3.2.16)
5
+ actionpack (= 3.2.16)
6
+ mail (~> 2.5.4)
7
+ actionpack (3.2.16)
8
+ activemodel (= 3.2.16)
9
+ activesupport (= 3.2.16)
10
10
  builder (~> 3.0.0)
11
11
  erubis (~> 2.7.0)
12
- journey (~> 1.0.1)
13
- rack (~> 1.4.0)
14
- rack-cache (~> 1.1)
12
+ journey (~> 1.0.4)
13
+ rack (~> 1.4.5)
14
+ rack-cache (~> 1.2)
15
15
  rack-test (~> 0.6.1)
16
- sprockets (~> 2.1.2)
17
- activemodel (3.2.2)
18
- activesupport (= 3.2.2)
16
+ sprockets (~> 2.2.1)
17
+ activemodel (3.2.16)
18
+ activesupport (= 3.2.16)
19
19
  builder (~> 3.0.0)
20
- activerecord (3.2.2)
21
- activemodel (= 3.2.2)
22
- activesupport (= 3.2.2)
20
+ activerecord (3.2.16)
21
+ activemodel (= 3.2.16)
22
+ activesupport (= 3.2.16)
23
23
  arel (~> 3.0.2)
24
24
  tzinfo (~> 0.3.29)
25
- activeresource (3.2.2)
26
- activemodel (= 3.2.2)
27
- activesupport (= 3.2.2)
28
- activesupport (3.2.2)
29
- i18n (~> 0.6)
25
+ activeresource (3.2.16)
26
+ activemodel (= 3.2.16)
27
+ activesupport (= 3.2.16)
28
+ activesupport (3.2.16)
29
+ i18n (~> 0.6, >= 0.6.4)
30
30
  multi_json (~> 1.0)
31
- arel (3.0.2)
32
- builder (3.0.0)
31
+ addressable (2.3.5)
32
+ arel (3.0.3)
33
+ builder (3.0.4)
33
34
  erubis (2.7.0)
34
- git (1.2.5)
35
- hike (1.2.1)
36
- i18n (0.6.0)
37
- jeweler (1.8.3)
35
+ faraday (0.8.8)
36
+ multipart-post (~> 1.2.0)
37
+ git (1.2.6)
38
+ github_api (0.10.1)
39
+ addressable
40
+ faraday (~> 0.8.1)
41
+ hashie (>= 1.2)
42
+ multi_json (~> 1.4)
43
+ nokogiri (~> 1.5.2)
44
+ oauth2
45
+ hashie (2.0.5)
46
+ highline (1.6.20)
47
+ hike (1.2.3)
48
+ httpauth (0.2.0)
49
+ i18n (0.6.9)
50
+ jeweler (1.8.8)
51
+ builder
38
52
  bundler (~> 1.0)
39
53
  git (>= 1.2.5)
54
+ github_api (= 0.10.1)
55
+ highline (>= 1.6.15)
56
+ nokogiri (= 1.5.10)
40
57
  rake
41
58
  rdoc
42
- journey (1.0.3)
43
- json (1.6.5)
44
- mail (2.4.3)
45
- i18n (>= 0.4.0)
59
+ journey (1.0.4)
60
+ json (1.8.1)
61
+ jwt (0.1.8)
62
+ multi_json (>= 1.5)
63
+ mail (2.5.4)
46
64
  mime-types (~> 1.16)
47
65
  treetop (~> 1.4.8)
48
- mime-types (1.17.2)
49
- multi_json (1.1.0)
66
+ mime-types (1.25.1)
67
+ multi_json (1.8.2)
68
+ multi_xml (0.5.5)
69
+ multipart-post (1.2.0)
70
+ mysql2 (0.3.14)
71
+ nokogiri (1.5.10)
72
+ oauth2 (0.9.2)
73
+ faraday (~> 0.8)
74
+ httpauth (~> 0.2)
75
+ jwt (~> 0.1.4)
76
+ multi_json (~> 1.0)
77
+ multi_xml (~> 0.5)
78
+ rack (~> 1.2)
79
+ pg (0.17.0)
50
80
  polyglot (0.3.3)
51
- rack (1.4.1)
81
+ rack (1.4.5)
52
82
  rack-cache (1.2)
53
83
  rack (>= 0.4)
54
- rack-ssl (1.3.2)
84
+ rack-ssl (1.3.3)
55
85
  rack
56
- rack-test (0.6.1)
86
+ rack-test (0.6.2)
57
87
  rack (>= 1.0)
58
- rails (3.2.2)
59
- actionmailer (= 3.2.2)
60
- actionpack (= 3.2.2)
61
- activerecord (= 3.2.2)
62
- activeresource (= 3.2.2)
63
- activesupport (= 3.2.2)
88
+ rails (3.2.16)
89
+ actionmailer (= 3.2.16)
90
+ actionpack (= 3.2.16)
91
+ activerecord (= 3.2.16)
92
+ activeresource (= 3.2.16)
93
+ activesupport (= 3.2.16)
64
94
  bundler (~> 1.0)
65
- railties (= 3.2.2)
66
- railties (3.2.2)
67
- actionpack (= 3.2.2)
68
- activesupport (= 3.2.2)
95
+ railties (= 3.2.16)
96
+ railties (3.2.16)
97
+ actionpack (= 3.2.16)
98
+ activesupport (= 3.2.16)
69
99
  rack-ssl (~> 1.3.2)
70
100
  rake (>= 0.8.7)
71
101
  rdoc (~> 3.4)
72
- thor (~> 0.14.6)
73
- rake (0.9.2.2)
74
- rdoc (3.12)
102
+ thor (>= 0.14.6, < 2.0)
103
+ rake (10.1.0)
104
+ rdoc (3.12.2)
75
105
  json (~> 1.4)
76
- sprockets (2.1.2)
106
+ sprockets (2.2.2)
77
107
  hike (~> 1.2)
108
+ multi_json (~> 1.0)
78
109
  rack (~> 1.0)
79
110
  tilt (~> 1.1, != 1.3.0)
80
- sqlite3 (1.3.5)
81
- thor (0.14.6)
82
- tilt (1.3.3)
83
- treetop (1.4.10)
111
+ sqlite3 (1.3.8)
112
+ thor (0.18.1)
113
+ tilt (1.4.1)
114
+ treetop (1.4.15)
84
115
  polyglot
85
116
  polyglot (>= 0.3.1)
86
- tzinfo (0.3.32)
117
+ tzinfo (0.3.38)
87
118
 
88
119
  PLATFORMS
89
120
  ruby
90
121
 
91
122
  DEPENDENCIES
92
- bundler (>= 1.0.0)
93
- jeweler (>= 1.8.3)
94
- rails (>= 3.2.0)
95
- sqlite3 (>= 1.3.5)
123
+ bundler (>= 1.3.5)
124
+ jeweler (>= 1.8.8)
125
+ mysql2 (>= 0.3.14)
126
+ pg (>= 0.17.0)
127
+ rails (>= 3.2.16)
128
+ sqlite3 (>= 1.3.8)
data/Gemfile.rails3 ADDED
@@ -0,0 +1,11 @@
1
+ source 'http://rubygems.org'
2
+ gem 'rails', '~> 3.2.16'
3
+
4
+ group :development do
5
+ gem 'bundler', '>= 1.3.5'
6
+ gem 'jeweler', '>= 1.8.8'
7
+ gem 'mysql2', '>= 0.3.14'
8
+ gem 'pg', '>= 0.17.0'
9
+ gem 'sqlite3', '>= 1.3.8'
10
+ end
11
+
data/Gemfile.rails4 ADDED
@@ -0,0 +1,11 @@
1
+ source 'http://rubygems.org'
2
+ gem 'rails', '>= 4.0.2'
3
+
4
+ group :development do
5
+ gem 'bundler', '>= 1.3.5'
6
+ gem 'jeweler', '>= 1.8.8'
7
+ gem 'mysql2', '>= 0.3.14'
8
+ gem 'pg', '>= 0.17.0'
9
+ gem 'sqlite3', '>= 1.3.8'
10
+ end
11
+
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.3
1
+ 0.6.0
@@ -2,14 +2,15 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: configvars_rails 0.6.0 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "configvars_rails"
8
- s.version = "0.5.3"
9
+ s.version = "0.6.0"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
12
  s.authors = ["Victor Costan"]
12
- s.date = "2012-03-13"
13
+ s.date = "2013-12-07"
13
14
  s.description = "This gem provides a model and simple controller for\n storing global application configuration in a database. This allows the\n configuration to change without source code modifications."
14
15
  s.email = "victor@costan.us"
15
16
  s.extra_rdoc_files = [
@@ -18,8 +19,11 @@ Gem::Specification.new do |s|
18
19
  ]
19
20
  s.files = [
20
21
  ".project",
22
+ ".travis.yml",
21
23
  "Gemfile",
22
24
  "Gemfile.lock",
25
+ "Gemfile.rails3",
26
+ "Gemfile.rails4",
23
27
  "LICENSE",
24
28
  "README.rdoc",
25
29
  "Rakefile",
@@ -62,28 +66,34 @@ Gem::Specification.new do |s|
62
66
  s.homepage = "http://github.com/pwnall/configvars_rails"
63
67
  s.licenses = ["MIT"]
64
68
  s.require_paths = ["lib"]
65
- s.rubygems_version = "1.8.17"
69
+ s.rubygems_version = "2.1.11"
66
70
  s.summary = "Global configuration variables for Rails 3 applications."
67
71
 
68
72
  if s.respond_to? :specification_version then
69
- s.specification_version = 3
73
+ s.specification_version = 4
70
74
 
71
75
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
72
- s.add_runtime_dependency(%q<rails>, [">= 3.2.0"])
73
- s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
74
- s.add_development_dependency(%q<jeweler>, [">= 1.8.3"])
75
- s.add_development_dependency(%q<sqlite3>, [">= 1.3.5"])
76
+ s.add_runtime_dependency(%q<rails>, [">= 3.2.16"])
77
+ s.add_development_dependency(%q<bundler>, [">= 1.3.5"])
78
+ s.add_development_dependency(%q<jeweler>, [">= 1.8.8"])
79
+ s.add_development_dependency(%q<mysql2>, [">= 0.3.14"])
80
+ s.add_development_dependency(%q<pg>, [">= 0.17.0"])
81
+ s.add_development_dependency(%q<sqlite3>, [">= 1.3.8"])
76
82
  else
77
- s.add_dependency(%q<rails>, [">= 3.2.0"])
78
- s.add_dependency(%q<bundler>, [">= 1.0.0"])
79
- s.add_dependency(%q<jeweler>, [">= 1.8.3"])
80
- s.add_dependency(%q<sqlite3>, [">= 1.3.5"])
83
+ s.add_dependency(%q<rails>, [">= 3.2.16"])
84
+ s.add_dependency(%q<bundler>, [">= 1.3.5"])
85
+ s.add_dependency(%q<jeweler>, [">= 1.8.8"])
86
+ s.add_dependency(%q<mysql2>, [">= 0.3.14"])
87
+ s.add_dependency(%q<pg>, [">= 0.17.0"])
88
+ s.add_dependency(%q<sqlite3>, [">= 1.3.8"])
81
89
  end
82
90
  else
83
- s.add_dependency(%q<rails>, [">= 3.2.0"])
84
- s.add_dependency(%q<bundler>, [">= 1.0.0"])
85
- s.add_dependency(%q<jeweler>, [">= 1.8.3"])
86
- s.add_dependency(%q<sqlite3>, [">= 1.3.5"])
91
+ s.add_dependency(%q<rails>, [">= 3.2.16"])
92
+ s.add_dependency(%q<bundler>, [">= 1.3.5"])
93
+ s.add_dependency(%q<jeweler>, [">= 1.8.8"])
94
+ s.add_dependency(%q<mysql2>, [">= 0.3.14"])
95
+ s.add_dependency(%q<pg>, [">= 0.17.0"])
96
+ s.add_dependency(%q<sqlite3>, [">= 1.3.8"])
87
97
  end
88
98
  end
89
99
 
@@ -5,19 +5,19 @@ module ConfigvarsRails
5
5
 
6
6
  # Included by the config vars management controller.
7
7
  #
8
- # Some parts of the codebase expect the controller to be named
8
+ # Some parts of the codebase expect the controller to be named
9
9
  # ConfigVarsController.
10
10
  module Controller
11
11
  extend ActiveSupport::Concern
12
-
12
+
13
13
  included do
14
14
  layout 'config_vars'
15
15
  end
16
16
 
17
17
  # GET /config_vars
18
18
  def index
19
- @config_vars = ConfigVar.order(:name).all
20
-
19
+ @config_vars = ConfigVar.order(:name).to_a
20
+
21
21
  defined_names = ConfigvarsRails.variable_names
22
22
  default_names = defined_names - @config_vars.map { |var| var.name.to_sym }
23
23
  @default_vars = default_names.map { |name|
@@ -28,52 +28,51 @@ module Controller
28
28
  format.html # index.html.erb
29
29
  end
30
30
  end
31
-
31
+
32
32
  # GET /config_vars/http_user
33
33
  def show
34
34
  edit
35
- render :text => @config_var.value
35
+ render text: @config_var.value
36
36
  end
37
37
 
38
38
  # GET /config_vars/http_user/edit
39
39
  def edit
40
- @config_var = ConfigVar.where(:name => params[:name]).first
40
+ @config_var = ConfigVar.where(name: params[:name]).first
41
41
  unless @config_var
42
- @config_var = ConfigVar.new :name => params[:name]
42
+ @config_var = ConfigVar.new name: params[:name]
43
43
  if descriptor = ConfigvarsRails.variable_descriptor(params[:name])
44
44
  @config_var.value = descriptor.default_value
45
45
  end
46
- end
46
+ end
47
47
  end
48
48
 
49
49
  # PUT /config_vars/http_user
50
50
  def update
51
- @config_var = ConfigVar.where(:name => params[:name]).first
51
+ @config_var = ConfigVar.where(name: params[:config_var][:name]).first
52
52
  unless @config_var
53
- @config_var = ConfigVar.new params[:config_var]
54
- @config_var.name = params[:name]
53
+ @config_var = ConfigVar.new update_params[:config_var]
55
54
  end
56
55
 
57
56
  respond_to do |format|
58
57
  success = if @config_var.new_record?
59
58
  @config_var.save
60
59
  else
61
- @config_var.update_attributes(params[:config_var])
60
+ @config_var.update_attributes update_params[:config_var]
62
61
  end
63
62
  if success
64
63
  format.html do
65
64
  redirect_to config_vars_url,
66
- :notice => 'Configuration variable was successfully updated.'
65
+ notice: 'Configuration variable was successfully updated.'
67
66
  end
68
67
  else
69
- format.html { render :action => :edit }
68
+ format.html { render action: :edit }
70
69
  end
71
70
  end
72
71
  end
73
72
 
74
73
  # DELETE /config_vars/http_user
75
74
  def destroy
76
- @config_var = ConfigVar.where(:name => params[:name]).first
75
+ @config_var = ConfigVar.where(name: params[:name]).first
77
76
  @config_var.destroy
78
77
 
79
78
  respond_to do |format|
@@ -81,6 +80,20 @@ module Controller
81
80
  end
82
81
  end
83
82
 
83
+ if defined? ActiveModel::ForbiddenAttributesProtection
84
+ # Rails 4.
85
+
86
+ # Parameters used to change a config variable.
87
+ def update_params
88
+ params.permit config_var: [:name, :value]
89
+ end
90
+ else
91
+ # Rails 3.
92
+ def update_params
93
+ params
94
+ end
95
+ end
96
+
84
97
  end # module ConfigvarsRails::Controller
85
98
 
86
99
  end # namespace ConfigvarsRails
@@ -1,10 +1,10 @@
1
1
  class CreateConfigVars < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :config_vars do |t|
4
- t.string :name, :length => 64, :null => false
5
- t.binary :value, :length => 1024, :null => false
4
+ t.string :name, length: 64, null: false
5
+ t.binary :value, length: 1024, null: false
6
6
  end
7
- add_index :config_vars, :name, :unique => true, :null => false
7
+ add_index :config_vars, :name, unique: true
8
8
  end
9
9
 
10
10
  def self.down
@@ -1,7 +1,7 @@
1
1
  <h2>Editing Configuration Variable</h2>
2
2
 
3
- <%= form_for(@config_var, :url => config_var_path(@config_var),
4
- :html => { :method => :put }) do |f| %>
3
+ <%= form_for(@config_var, url: config_var_path,
4
+ html: { method: :put }) do |f| %>
5
5
  <% if @config_var.errors.any? %>
6
6
  <div id="error_explanation">
7
7
  <h3><%= pluralize(@config_var.errors.count, "error") %> prohibited this config_var from being saved:</h3>
@@ -24,7 +24,7 @@
24
24
  'undefined' %>
25
25
  </td>
26
26
  <td><%= link_to 'Edit', edit_config_var_path(config_var) %></td>
27
- <td><%= link_to 'Reset to default', config_var, :method => :delete %></td>
27
+ <td><%= link_to 'Reset to default', config_var, method: :delete %></td>
28
28
  </tr>
29
29
  <% end %>
30
30
  </table>
@@ -46,7 +46,7 @@
46
46
  <td><%= name %></td>
47
47
  <td><%= descriptor.value_type %></td>
48
48
  <td><%= descriptor.default_value %></td>
49
- <td><%= link_to 'Edit', edit_config_var_path(:name => name) %></td>
49
+ <td><%= link_to 'Edit', edit_config_var_path(name: name) %></td>
50
50
  </tr>
51
51
  <% end %>
52
52
  </table>
@@ -9,10 +9,10 @@ module Model
9
9
 
10
10
  included do
11
11
  # The name of the configuration variable.
12
- validates :name, :uniqueness => true, :length => 1..64, :presence => true
12
+ validates :name, uniqueness: true, length: 1..64, presence: true
13
13
 
14
14
  # The value of the configuration variable.
15
- validates :value, :length => 0..1024, :exclusion => { :in => [nil] }
15
+ validates :value, length: 0..1024, exclusion: { in: [nil] }
16
16
  end
17
17
 
18
18
 
@@ -20,7 +20,7 @@ module Model
20
20
  module ClassMethods
21
21
  # Access configuration flags by ConfigVar['flag_name'].
22
22
  def [](name)
23
- var = where(:name => name).first
23
+ var = where(name: name).first
24
24
  return var.value if var
25
25
 
26
26
  descriptor = ConfigvarsRails.variable_descriptor name
@@ -31,8 +31,8 @@ module Model
31
31
 
32
32
  # Set configuration flags by ConfigVar['flag_name'] = 'flag_value'.
33
33
  def []=(name, value)
34
- flag = where(:name => name).first
35
- flag ||= new :name => name
34
+ flag = where(name: name).first
35
+ flag ||= new name: name
36
36
  flag.value = value
37
37
  flag.save!
38
38
  value
@@ -9,15 +9,14 @@ module Routes
9
9
  # :nodoc: mixed into ActionPack's route mapper.
10
10
  module MapperMixin
11
11
  def config_vars
12
- get 'config_vars/:name/edit' => 'config_vars#edit', :as => :edit_config_var,
13
- :constraints => { :name => /[^\/]+/ }
14
- get 'config_vars/:name' => 'config_vars#show', :as => :config_var,
15
- :constraints => { :name => /[^\/]+/ }
16
- put 'config_vars/:name' => 'config_vars#update',
17
- :constraints => { :name => /[^\/]+/ }
12
+ get 'config_vars' => 'config_vars#index', as: :config_vars
13
+ get 'config_vars/:name/edit' => 'config_vars#edit', as: :edit_config_var,
14
+ constraints: { name: /[^\/]+/ }
15
+ get 'config_vars/:name' => 'config_vars#show', as: :config_var,
16
+ constraints: { name: /[^\/]+/ }
17
+ put 'config_vars' => 'config_vars#update'
18
18
  delete 'config_vars/:name' => 'config_vars#destroy',
19
- :constraints => { :name => /[^\/]+/ }
20
- get 'config_vars' => 'config_vars#index', :as => :config_vars
19
+ constraints: { name: /[^\/]+/ }
21
20
  end
22
21
  end
23
22
 
@@ -2,7 +2,7 @@ require File.expand_path('../test_helper', __FILE__)
2
2
 
3
3
  class ConfigVarTest < ActiveSupport::TestCase
4
4
  def setup
5
- @var = ConfigVar.new :name => 'var', :value => 'var_value'
5
+ @var = ConfigVar.new name: 'var', value: 'var_value'
6
6
  end
7
7
 
8
8
  test "setup" do
@@ -36,6 +36,6 @@ class ConfigVarTest < ActiveSupport::TestCase
36
36
  test "convenience set" do
37
37
  ConfigVar['other_var'] = 'other_value'
38
38
  assert_equal 'other_value',
39
- ConfigVar.where(:name => 'other_var').first.value
39
+ ConfigVar.where(name: 'other_var').first.value
40
40
  end
41
41
  end
@@ -19,7 +19,7 @@ class ConfigVarsControllerApiTest < ActionController::TestCase
19
19
  test "should get index" do
20
20
  get :index
21
21
  assert_response :success
22
-
22
+
23
23
  assert assigns(:config_vars).include?(config_vars(:app_uri)),
24
24
  "@config_vars doesn't have a database fixture"
25
25
  assert assigns(:default_vars).map(&:first).
@@ -29,13 +29,13 @@ class ConfigVarsControllerApiTest < ActionController::TestCase
29
29
  end
30
30
 
31
31
  test "should get variable value" do
32
- get :show, :name => @config_var.to_param
32
+ get :show, name: @config_var.to_param
33
33
  assert_response :success
34
34
  assert_equal @config_var.value, @response.body
35
35
  end
36
-
36
+
37
37
  test "edit with preset name and default value" do
38
- get :edit, :name => 'config_vars.http_user'
38
+ get :edit, name: 'config_vars.http_user'
39
39
  assert_response :success
40
40
  assert_equal 'config_vars.http_user', assigns(:config_var).name
41
41
  assert_equal 'config', assigns(:config_var).value
@@ -44,7 +44,7 @@ class ConfigVarsControllerApiTest < ActionController::TestCase
44
44
  test "should create config_var" do
45
45
  attributes = @config_var.attributes.merge 'name' => 'other_uri'
46
46
  assert_difference('ConfigVar.count') do
47
- put :update, :config_var => attributes, :name => 'other_uri'
47
+ put :update, config_var: attributes
48
48
  end
49
49
 
50
50
  assert_redirected_to config_vars_url
@@ -52,27 +52,26 @@ class ConfigVarsControllerApiTest < ActionController::TestCase
52
52
  end
53
53
 
54
54
  test "should get edit" do
55
- get :edit, :name => @config_var.to_param
55
+ get :edit, name: @config_var.to_param
56
56
  assert_response :success
57
57
  end
58
58
 
59
59
  test "should update config_var" do
60
- put :update, :name => @config_var.to_param,
61
- :config_var => @config_var.attributes
60
+ put :update, config_var: @config_var.attributes
62
61
  assert_redirected_to config_vars_url
63
62
  end
64
63
 
65
64
  test "should destroy config_var" do
66
65
  assert_difference('ConfigVar.count', -1) do
67
- delete :destroy, :name => @config_var.to_param
66
+ delete :destroy, name: @config_var.to_param
68
67
  end
69
68
 
70
69
  assert_redirected_to config_vars_url
71
70
  end
72
-
71
+
73
72
  test "cannot access config vars without authentication" do
74
73
  request.env.delete 'HTTP_AUTHORIZATION'
75
74
  get :index
76
- assert_response :unauthorized
75
+ assert_response :unauthorized
77
76
  end
78
77
  end
@@ -1,5 +1,17 @@
1
- ActiveRecord::Base.establish_connection :adapter => 'sqlite3',
2
- :database => ':memory:'
1
+ case ENV['DB']
2
+ when /mysql/i
3
+ `mysql -u root -e "DROP DATABASE IF EXISTS plugin_dev; CREATE DATABASE plugin_dev;"`
4
+ ActiveRecord::Base.establish_connection adapter: 'mysql2',
5
+ database: 'plugin_dev', username: 'root', password: ''
6
+ when /pg/i
7
+ `psql -d postgres -c "DROP DATABASE IF EXISTS plugin_dev;"`
8
+ `psql -d postgres -c "CREATE DATABASE plugin_dev;"`
9
+ ActiveRecord::Base.establish_connection adapter: 'postgresql',
10
+ database: 'plugin_dev', username: ENV['USER'], password: ''
11
+ else
12
+ ActiveRecord::Base.establish_connection adapter: 'sqlite3',
13
+ database: ':memory:'
14
+ end
3
15
  ActiveRecord::Base.configurations = true
4
16
 
5
17
  ActiveRecord::Migration.verbose = false
@@ -11,11 +23,11 @@ require 'configvars_rails/generators/templates/config_var.rb'
11
23
  # :nodoc: open TestCase to setup fixtures
12
24
  class ActiveSupport::TestCase
13
25
  include ActiveRecord::TestFixtures
14
-
26
+
15
27
  self.fixture_path =
16
28
  File.expand_path '../../../lib/configvars_rails/generators/templates',
17
29
  __FILE__
18
-
30
+
19
31
  self.use_transactional_fixtures = false
20
32
  self.use_instantiated_fixtures = false
21
33
  self.pre_loaded_fixtures = false
@@ -18,5 +18,11 @@ end
18
18
  # For javascript_include_tag in the config_vars layout.
19
19
  ActionController::Base.config.assets_dir = '.'
20
20
  ActionController::Base.config.javascripts_dir = '.'
21
- ActionView::Helpers::AssetTagHelper.
22
- register_javascript_expansion(:defaults => ['rails.js'])
21
+
22
+ if ActionView::Helpers::AssetTagHelper.respond_to?(:register_javascript_expansion)
23
+ # Rails 3.
24
+ ActionView::Helpers::AssetTagHelper.
25
+ register_javascript_expansion(defaults: ['rails.js'])
26
+ else
27
+ # Rails 4 doesn't seem to need anything.
28
+ end
@@ -1,7 +1,13 @@
1
1
  # :nodoc: the routes used in all tests
2
2
  class ActionController::TestCase
3
3
  def setup_routes
4
- @routes = ActionController::Routing::RouteSet.new
4
+ if defined? ActionDispatch::Routing
5
+ # Rails 4.
6
+ @routes = ActionDispatch::Routing::RouteSet.new
7
+ else
8
+ # Rails 3.
9
+ @routes = ActionController::Routing::RouteSet.new
10
+ end
5
11
  @routes.draw do
6
12
  # NOTE: this route should be kept in sync with the config_vars template.
7
13
  config_vars
@@ -9,6 +15,6 @@ class ActionController::TestCase
9
15
  end
10
16
  ApplicationController.send :include, @routes.url_helpers
11
17
  end
12
-
18
+
13
19
  setup :setup_routes
14
20
  end
data/test/routes_test.rb CHANGED
@@ -7,19 +7,18 @@ class RoutesTest < ActionController::TestCase
7
7
  tests ConfigVarsController
8
8
 
9
9
  test "config_vars routes" do
10
- assert_routing({:path => "/config_vars", :method => :get},
11
- {:controller => 'config_vars', :action => 'index'})
12
- assert_routing({:path => "/config_vars/http.user", :method => :get},
13
- {:controller => 'config_vars', :action => 'show',
14
- :name => 'http.user'})
15
- assert_routing({:path => "/config_vars/http.user", :method => :put},
16
- {:controller => 'config_vars', :action => 'update',
17
- :name => 'http.user'})
18
- assert_routing({:path => "/config_vars/http.user", :method => :delete},
19
- {:controller => 'config_vars', :action => 'destroy',
20
- :name => 'http.user'})
21
- assert_routing({:path => "/config_vars/http.user/edit", :method => :get},
22
- {:controller => 'config_vars', :action => 'edit',
23
- :name => 'http.user'})
10
+ assert_routing({path: "/config_vars", method: :get},
11
+ {controller: 'config_vars', action: 'index'})
12
+ assert_routing({path: "/config_vars/http.user", method: :get},
13
+ {controller: 'config_vars', action: 'show',
14
+ name: 'http.user'})
15
+ assert_routing({path: "/config_vars", method: :put},
16
+ {controller: 'config_vars', action: 'update'})
17
+ assert_routing({path: "/config_vars/http.user", method: :delete},
18
+ {controller: 'config_vars', action: 'destroy',
19
+ name: 'http.user'})
20
+ assert_routing({path: "/config_vars/http.user/edit", method: :get},
21
+ {controller: 'config_vars', action: 'edit',
22
+ name: 'http.user'})
24
23
  end
25
24
  end
metadata CHANGED
@@ -1,63 +1,103 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configvars_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
5
- prerelease:
4
+ version: 0.6.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Victor Costan
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-03-13 00:00:00.000000000 Z
11
+ date: 2013-12-07 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
16
- requirement: &70107924322540 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
- version: 3.2.0
19
+ version: 3.2.16
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *70107924322540
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 3.2.16
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: bundler
27
- requirement: &70107924321760 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - '>='
31
32
  - !ruby/object:Gem::Version
32
- version: 1.0.0
33
+ version: 1.3.5
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *70107924321760
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: 1.3.5
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: jeweler
38
- requirement: &70107924321120 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
- - - ! '>='
45
+ - - '>='
42
46
  - !ruby/object:Gem::Version
43
- version: 1.8.3
47
+ version: 1.8.8
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *70107924321120
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.8.8
55
+ - !ruby/object:Gem::Dependency
56
+ name: mysql2
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.3.14
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: 0.3.14
69
+ - !ruby/object:Gem::Dependency
70
+ name: pg
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: 0.17.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.17.0
47
83
  - !ruby/object:Gem::Dependency
48
84
  name: sqlite3
49
- requirement: &70107924320020 !ruby/object:Gem::Requirement
50
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
51
86
  requirements:
52
- - - ! '>='
87
+ - - '>='
53
88
  - !ruby/object:Gem::Version
54
- version: 1.3.5
89
+ version: 1.3.8
55
90
  type: :development
56
91
  prerelease: false
57
- version_requirements: *70107924320020
58
- description: ! "This gem provides a model and simple controller for\n storing global
59
- application configuration in a database. This allows the\n configuration to change
60
- without source code modifications."
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: 1.3.8
97
+ description: |-
98
+ This gem provides a model and simple controller for
99
+ storing global application configuration in a database. This allows the
100
+ configuration to change without source code modifications.
61
101
  email: victor@costan.us
62
102
  executables: []
63
103
  extensions: []
@@ -66,8 +106,11 @@ extra_rdoc_files:
66
106
  - README.rdoc
67
107
  files:
68
108
  - .project
109
+ - .travis.yml
69
110
  - Gemfile
70
111
  - Gemfile.lock
112
+ - Gemfile.rails3
113
+ - Gemfile.rails4
71
114
  - LICENSE
72
115
  - README.rdoc
73
116
  - Rakefile
@@ -109,29 +152,25 @@ files:
109
152
  homepage: http://github.com/pwnall/configvars_rails
110
153
  licenses:
111
154
  - MIT
155
+ metadata: {}
112
156
  post_install_message:
113
157
  rdoc_options: []
114
158
  require_paths:
115
159
  - lib
116
160
  required_ruby_version: !ruby/object:Gem::Requirement
117
- none: false
118
161
  requirements:
119
- - - ! '>='
162
+ - - '>='
120
163
  - !ruby/object:Gem::Version
121
164
  version: '0'
122
- segments:
123
- - 0
124
- hash: -1731949087483486988
125
165
  required_rubygems_version: !ruby/object:Gem::Requirement
126
- none: false
127
166
  requirements:
128
- - - ! '>='
167
+ - - '>='
129
168
  - !ruby/object:Gem::Version
130
169
  version: '0'
131
170
  requirements: []
132
171
  rubyforge_project:
133
- rubygems_version: 1.8.17
172
+ rubygems_version: 2.1.11
134
173
  signing_key:
135
- specification_version: 3
174
+ specification_version: 4
136
175
  summary: Global configuration variables for Rails 3 applications.
137
176
  test_files: []