configurable_engine 0.2.8 → 0.2.9
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/Gemfile +1 -1
- data/Gemfile.lock +7 -3
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/app/models/configurable.rb +25 -7
- data/configurable_engine.gemspec +23 -34
- metadata +44 -117
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -9,14 +9,16 @@ GEM
|
|
9
9
|
json (~> 1.4.6)
|
10
10
|
term-ansicolor (~> 1.0.5)
|
11
11
|
diff-lcs (1.1.2)
|
12
|
+
gemcutter (0.6.1)
|
12
13
|
gherkin (2.3.3)
|
13
14
|
json (~> 1.4.6)
|
14
15
|
git (1.2.5)
|
15
|
-
jeweler (1.
|
16
|
-
|
16
|
+
jeweler (1.4.0)
|
17
|
+
gemcutter (>= 0.1.0)
|
17
18
|
git (>= 1.2.5)
|
18
|
-
|
19
|
+
rubyforge (>= 2.0.0)
|
19
20
|
json (1.4.6)
|
21
|
+
json_pure (1.5.3)
|
20
22
|
rake (0.8.7)
|
21
23
|
rspec (2.4.0)
|
22
24
|
rspec-core (~> 2.4.0)
|
@@ -26,6 +28,8 @@ GEM
|
|
26
28
|
rspec-expectations (2.4.0)
|
27
29
|
diff-lcs (~> 1.1.2)
|
28
30
|
rspec-mocks (2.4.0)
|
31
|
+
rubyforge (2.0.4)
|
32
|
+
json_pure (>= 1.1.7)
|
29
33
|
term-ansicolor (1.0.5)
|
30
34
|
|
31
35
|
PLATFORMS
|
data/Rakefile
CHANGED
@@ -25,7 +25,7 @@ Jeweler::Tasks.new do |gem|
|
|
25
25
|
gem.add_runtime_dependency 'activerecord', '~>3'
|
26
26
|
gem.files = FileList["[A-Za-z]*", "lib/**/*", "app/**/*", "config/*"]
|
27
27
|
end
|
28
|
-
Jeweler::RubygemsDotOrgTasks.new
|
28
|
+
# Jeweler::RubygemsDotOrgTasks.new
|
29
29
|
|
30
30
|
require 'rspec/core'
|
31
31
|
require 'rspec/core/rake_task'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.9
|
data/app/models/configurable.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
class Configurable < ActiveRecord::Base
|
2
|
-
|
2
|
+
|
3
|
+
validates_presence_of :name
|
4
|
+
validates_uniqueness_of :name
|
5
|
+
|
3
6
|
def self.defaults
|
4
7
|
HashWithIndifferentAccess.new(
|
5
8
|
YAML.load_file(
|
@@ -7,12 +10,23 @@ class Configurable < ActiveRecord::Base
|
|
7
10
|
)
|
8
11
|
)
|
9
12
|
end
|
10
|
-
|
13
|
+
|
11
14
|
def self.keys
|
12
15
|
self.defaults.collect { |k,v| k.to_s }.sort
|
13
16
|
end
|
14
|
-
|
17
|
+
|
18
|
+
def self.[]=(key, value)
|
19
|
+
exisiting = find_by_name(key)
|
20
|
+
if exisiting
|
21
|
+
exisiting.update_attribute(:value, value)
|
22
|
+
else
|
23
|
+
create(:name => key.to_s, :value => value)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
15
27
|
def self.[](key)
|
28
|
+
return self.defaults[key][:default] unless table_exists?
|
29
|
+
|
16
30
|
value = find_by_name(key).try(:value) || self.defaults[key][:default]
|
17
31
|
case self.defaults[key][:type]
|
18
32
|
when 'boolean'
|
@@ -28,14 +42,18 @@ class Configurable < ActiveRecord::Base
|
|
28
42
|
value
|
29
43
|
end
|
30
44
|
end
|
31
|
-
|
45
|
+
|
32
46
|
def self.method_missing(name, *args)
|
33
|
-
name_stripped = name.to_s.
|
47
|
+
name_stripped = name.to_s.sub(/[\?=]$/, '')
|
34
48
|
if self.keys.include?(name_stripped)
|
35
|
-
|
49
|
+
if name.to_s.end_with?('=')
|
50
|
+
self[name_stripped] = args.first
|
51
|
+
else
|
52
|
+
self[name_stripped]
|
53
|
+
end
|
36
54
|
else
|
37
55
|
super
|
38
56
|
end
|
39
57
|
end
|
40
|
-
|
58
|
+
|
41
59
|
end
|
data/configurable_engine.gemspec
CHANGED
@@ -1,70 +1,59 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{configurable_engine}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = [%q{Paul Campbell}]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-08-29}
|
13
13
|
s.description = %q{Configurable is a Rails 3 engine that allows you to set up config variables in a config file, specifying default values for all environments. These variables can then be set on a per-app basis using a user facing configuration screen. }
|
14
14
|
s.email = %q{paul@rslw.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
|
-
|
17
|
+
"README.md"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
"CHANGELOG",
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
21
|
+
"Gemfile",
|
22
|
+
"Gemfile.lock",
|
23
|
+
"LICENSE.txt",
|
24
|
+
"README.md",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"app/controllers/admin/configurables_controller.rb",
|
28
|
+
"app/models/configurable.rb",
|
29
|
+
"app/views/admin/configurables/show.html.erb",
|
30
|
+
"config/routes.rb",
|
31
|
+
"configurable_engine.gemspec",
|
32
|
+
"lib/configurable_engine.rb",
|
33
|
+
"lib/configurable_engine/configurables_controller.rb",
|
34
|
+
"lib/configurable_engine/engine.rb",
|
35
|
+
"lib/generators/configurable_engine/install_generator.rb",
|
36
|
+
"lib/generators/configurable_engine/templates/configurable.yml",
|
37
|
+
"lib/generators/configurable_engine/templates/migration.rb"
|
38
38
|
]
|
39
39
|
s.homepage = %q{http://github.com/paulca/configurable_engine}
|
40
40
|
s.licenses = [%q{MIT}]
|
41
|
+
s.rdoc_options = [%q{--charset=UTF-8}]
|
41
42
|
s.require_paths = [%q{lib}]
|
42
|
-
s.rubygems_version = %q{1.8.
|
43
|
+
s.rubygems_version = %q{1.8.6}
|
43
44
|
s.summary = %q{Database-backed configuration for Rails 3, with defaults from config file.}
|
44
45
|
|
45
46
|
if s.respond_to? :specification_version then
|
46
47
|
s.specification_version = 3
|
47
48
|
|
48
49
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
49
|
-
s.add_development_dependency(%q<rake>, [">= 0"])
|
50
|
-
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
51
|
-
s.add_development_dependency(%q<rspec>, [">= 0"])
|
52
|
-
s.add_development_dependency(%q<cucumber>, [">= 0"])
|
53
50
|
s.add_runtime_dependency(%q<rails>, ["~> 3"])
|
54
51
|
s.add_runtime_dependency(%q<activerecord>, ["~> 3"])
|
55
52
|
else
|
56
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
57
|
-
s.add_dependency(%q<jeweler>, [">= 0"])
|
58
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
59
|
-
s.add_dependency(%q<cucumber>, [">= 0"])
|
60
53
|
s.add_dependency(%q<rails>, ["~> 3"])
|
61
54
|
s.add_dependency(%q<activerecord>, ["~> 3"])
|
62
55
|
end
|
63
56
|
else
|
64
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
65
|
-
s.add_dependency(%q<jeweler>, [">= 0"])
|
66
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
67
|
-
s.add_dependency(%q<cucumber>, [">= 0"])
|
68
57
|
s.add_dependency(%q<rails>, ["~> 3"])
|
69
58
|
s.add_dependency(%q<activerecord>, ["~> 3"])
|
70
59
|
end
|
metadata
CHANGED
@@ -1,116 +1,48 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: configurable_engine
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.9
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 8
|
10
|
-
version: 0.2.8
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Paul Campbell
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
requirement: &
|
22
|
-
none: false
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
hash: 3
|
27
|
-
segments:
|
28
|
-
- 0
|
29
|
-
version: "0"
|
30
|
-
name: rake
|
31
|
-
prerelease: false
|
32
|
-
version_requirements: *id001
|
33
|
-
type: :development
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
hash: 3
|
41
|
-
segments:
|
42
|
-
- 0
|
43
|
-
version: "0"
|
44
|
-
name: jeweler
|
45
|
-
prerelease: false
|
46
|
-
version_requirements: *id002
|
47
|
-
type: :development
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
hash: 3
|
55
|
-
segments:
|
56
|
-
- 0
|
57
|
-
version: "0"
|
58
|
-
name: rspec
|
59
|
-
prerelease: false
|
60
|
-
version_requirements: *id003
|
61
|
-
type: :development
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
64
|
-
none: false
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
hash: 3
|
69
|
-
segments:
|
70
|
-
- 0
|
71
|
-
version: "0"
|
72
|
-
name: cucumber
|
73
|
-
prerelease: false
|
74
|
-
version_requirements: *id004
|
75
|
-
type: :development
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
12
|
+
date: 2011-08-29 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
requirement: &70297958263040 !ruby/object:Gem::Requirement
|
78
17
|
none: false
|
79
|
-
requirements:
|
18
|
+
requirements:
|
80
19
|
- - ~>
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
|
83
|
-
segments:
|
84
|
-
- 3
|
85
|
-
version: "3"
|
86
|
-
name: rails
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: *id005
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3'
|
89
22
|
type: :runtime
|
90
|
-
|
91
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70297958263040
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: activerecord
|
27
|
+
requirement: &70297958251220 !ruby/object:Gem::Requirement
|
92
28
|
none: false
|
93
|
-
requirements:
|
29
|
+
requirements:
|
94
30
|
- - ~>
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
|
97
|
-
segments:
|
98
|
-
- 3
|
99
|
-
version: "3"
|
100
|
-
name: activerecord
|
101
|
-
prerelease: false
|
102
|
-
version_requirements: *id006
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '3'
|
103
33
|
type: :runtime
|
104
|
-
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70297958251220
|
36
|
+
description: ! 'Configurable is a Rails 3 engine that allows you to set up config
|
37
|
+
variables in a config file, specifying default values for all environments. These
|
38
|
+
variables can then be set on a per-app basis using a user facing configuration screen. '
|
105
39
|
email: paul@rslw.com
|
106
40
|
executables: []
|
107
|
-
|
108
41
|
extensions: []
|
109
|
-
|
110
|
-
extra_rdoc_files:
|
42
|
+
extra_rdoc_files:
|
111
43
|
- LICENSE.txt
|
112
44
|
- README.md
|
113
|
-
files:
|
45
|
+
files:
|
114
46
|
- CHANGELOG
|
115
47
|
- Gemfile
|
116
48
|
- Gemfile.lock
|
@@ -130,37 +62,32 @@ files:
|
|
130
62
|
- lib/generators/configurable_engine/templates/configurable.yml
|
131
63
|
- lib/generators/configurable_engine/templates/migration.rb
|
132
64
|
homepage: http://github.com/paulca/configurable_engine
|
133
|
-
licenses:
|
65
|
+
licenses:
|
134
66
|
- MIT
|
135
67
|
post_install_message:
|
136
|
-
rdoc_options:
|
137
|
-
|
138
|
-
require_paths:
|
68
|
+
rdoc_options:
|
69
|
+
- --charset=UTF-8
|
70
|
+
require_paths:
|
139
71
|
- lib
|
140
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
72
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
141
73
|
none: false
|
142
|
-
requirements:
|
143
|
-
- -
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
|
146
|
-
segments:
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
segments:
|
147
79
|
- 0
|
148
|
-
|
149
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
|
+
hash: 4438324471680151781
|
81
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
82
|
none: false
|
151
|
-
requirements:
|
152
|
-
- -
|
153
|
-
- !ruby/object:Gem::Version
|
154
|
-
|
155
|
-
segments:
|
156
|
-
- 0
|
157
|
-
version: "0"
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
158
87
|
requirements: []
|
159
|
-
|
160
88
|
rubyforge_project:
|
161
|
-
rubygems_version: 1.8.
|
89
|
+
rubygems_version: 1.8.6
|
162
90
|
signing_key:
|
163
91
|
specification_version: 3
|
164
92
|
summary: Database-backed configuration for Rails 3, with defaults from config file.
|
165
93
|
test_files: []
|
166
|
-
|