settler 1.2.2 → 1.2.3
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/README.rdoc +9 -1
- data/Rakefile +4 -1
- data/VERSION +1 -1
- data/lib/setting.rb +10 -2
- data/lib/settler.rb +4 -2
- data/lib/type_casters.rb +37 -1
- data/settler.gemspec +11 -4
- data/test/debug.log +53026 -0
- data/test/helper.rb +1 -0
- data/test/settler.yml +9 -1
- data/test/test_settler.rb +20 -2
- metadata +53 -8
data/test/helper.rb
CHANGED
data/test/settler.yml
CHANGED
|
@@ -25,7 +25,15 @@ settings:
|
|
|
25
25
|
integer_value:
|
|
26
26
|
alt: An integer that should be typecasted
|
|
27
27
|
value: 3
|
|
28
|
-
typecast: integer
|
|
28
|
+
typecast: integer
|
|
29
|
+
datetime_value:
|
|
30
|
+
alt: A datetime that should be typecasted
|
|
31
|
+
value: "2012-01-15"
|
|
32
|
+
typecast: datetime
|
|
33
|
+
password_value:
|
|
34
|
+
alt: A password value that should be typecasted
|
|
35
|
+
value: '123456'
|
|
36
|
+
typecast: password
|
|
29
37
|
custom_value:
|
|
30
38
|
alt: An integer that should be custom typecasted
|
|
31
39
|
value: 1
|
data/test/test_settler.rb
CHANGED
|
@@ -9,7 +9,7 @@ class TestSettler < Test::Unit::TestCase
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def test_should_load_settings
|
|
12
|
-
assert_equal ["bool_value", "custom_value", "float_value", "google_analytics_key", "integer_value", "search_algorithm"], Settler.settings(:order => :key)
|
|
12
|
+
assert_equal ["bool_value", "custom_value", "datetime_value", "float_value", "google_analytics_key", "integer_value", "password_value", "search_algorithm"], Settler.settings(:order => :key)
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
def test_should_find_setting_value
|
|
@@ -125,7 +125,8 @@ class TestSettler < Test::Unit::TestCase
|
|
|
125
125
|
require 'custom_typecaster'
|
|
126
126
|
assert_equal 3, Settler.integer_value.value
|
|
127
127
|
assert_equal 0.25, Settler.float_value.value
|
|
128
|
-
assert_equal true, Settler.bool_value.value
|
|
128
|
+
assert_equal true, Settler.bool_value.value
|
|
129
|
+
assert_equal DateTime.civil(2012, 01, 15), Settler.datetime_value.value
|
|
129
130
|
assert_equal 'custom value', Settler.custom_value.value
|
|
130
131
|
end
|
|
131
132
|
|
|
@@ -148,6 +149,13 @@ class TestSettler < Test::Unit::TestCase
|
|
|
148
149
|
assert_equal false, bool_setting.value
|
|
149
150
|
end
|
|
150
151
|
|
|
152
|
+
def test_password_typecaster
|
|
153
|
+
password_value = Settler.password_value
|
|
154
|
+
assert_not_equal '123456', password_value.untypecasted_value
|
|
155
|
+
assert_not_equal password_value.value, password_value.untypecasted_value
|
|
156
|
+
assert_equal '123456', password_value.value
|
|
157
|
+
end
|
|
158
|
+
|
|
151
159
|
def test_should_validate_format
|
|
152
160
|
setting = Settler.google_analytics_key
|
|
153
161
|
assert !setting.update_attributes(:value => 'invalid_format')
|
|
@@ -173,4 +181,14 @@ class TestSettler < Test::Unit::TestCase
|
|
|
173
181
|
assert !Setting.deleted.include?(deleted_setting)
|
|
174
182
|
end
|
|
175
183
|
|
|
184
|
+
def test_should_return_type
|
|
185
|
+
assert Settler.integer_value.type.integer?
|
|
186
|
+
assert Settler.float_value.type.float?
|
|
187
|
+
assert Settler.bool_value.type.boolean?
|
|
188
|
+
assert Settler.password_value.type.password?
|
|
189
|
+
assert Settler.datetime_value.type.datetime?
|
|
190
|
+
assert Settler.custom_value.type.string?
|
|
191
|
+
assert_equal 'string', Settler.search_algorithm.type
|
|
192
|
+
end
|
|
193
|
+
|
|
176
194
|
end
|
metadata
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: settler
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
+
hash: 25
|
|
4
5
|
prerelease:
|
|
5
|
-
|
|
6
|
+
segments:
|
|
7
|
+
- 1
|
|
8
|
+
- 2
|
|
9
|
+
- 3
|
|
10
|
+
version: 1.2.3
|
|
6
11
|
platform: ruby
|
|
7
12
|
authors:
|
|
8
13
|
- Reinier de Lange
|
|
@@ -10,11 +15,38 @@ autorequire:
|
|
|
10
15
|
bindir: bin
|
|
11
16
|
cert_chain: []
|
|
12
17
|
|
|
13
|
-
date:
|
|
18
|
+
date: 2012-04-19 00:00:00 +02:00
|
|
14
19
|
default_executable:
|
|
15
|
-
dependencies:
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
dependencies:
|
|
21
|
+
- !ruby/object:Gem::Dependency
|
|
22
|
+
name: sqlite3
|
|
23
|
+
prerelease: false
|
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - ">="
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
hash: 3
|
|
30
|
+
segments:
|
|
31
|
+
- 0
|
|
32
|
+
version: "0"
|
|
33
|
+
type: :development
|
|
34
|
+
version_requirements: *id001
|
|
35
|
+
- !ruby/object:Gem::Dependency
|
|
36
|
+
name: rails
|
|
37
|
+
prerelease: false
|
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
39
|
+
none: false
|
|
40
|
+
requirements:
|
|
41
|
+
- - ">="
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
hash: 3
|
|
44
|
+
segments:
|
|
45
|
+
- 0
|
|
46
|
+
version: "0"
|
|
47
|
+
type: :runtime
|
|
48
|
+
version_requirements: *id002
|
|
49
|
+
description: Settler can be used for defining application wide settings in Rails. Settings are loaded from a YAML file and stored in the database using ActiveRecord to allow users to update settings on the fly. The YAML configuration allows you to not only specify defaults, but setting value validations and typecasts as well!
|
|
18
50
|
email: r.j.delange@nedforce.nl
|
|
19
51
|
executables: []
|
|
20
52
|
|
|
@@ -49,6 +81,7 @@ files:
|
|
|
49
81
|
- test/schema.rb
|
|
50
82
|
- test/settler.yml
|
|
51
83
|
- test/test_settler.rb
|
|
84
|
+
- test/debug.log
|
|
52
85
|
has_rdoc: true
|
|
53
86
|
homepage: http://github.com/moiristo/settler
|
|
54
87
|
licenses: []
|
|
@@ -63,19 +96,31 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
63
96
|
requirements:
|
|
64
97
|
- - ">="
|
|
65
98
|
- !ruby/object:Gem::Version
|
|
99
|
+
hash: 3
|
|
100
|
+
segments:
|
|
101
|
+
- 0
|
|
66
102
|
version: "0"
|
|
67
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
104
|
none: false
|
|
69
105
|
requirements:
|
|
70
106
|
- - ">="
|
|
71
107
|
- !ruby/object:Gem::Version
|
|
108
|
+
hash: 3
|
|
109
|
+
segments:
|
|
110
|
+
- 0
|
|
72
111
|
version: "0"
|
|
73
112
|
requirements: []
|
|
74
113
|
|
|
75
114
|
rubyforge_project:
|
|
76
|
-
rubygems_version: 1.
|
|
115
|
+
rubygems_version: 1.5.3
|
|
77
116
|
signing_key:
|
|
78
117
|
specification_version: 3
|
|
79
118
|
summary: Settler manages global application settings in Rails
|
|
80
|
-
test_files:
|
|
81
|
-
|
|
119
|
+
test_files:
|
|
120
|
+
- test/custom_typecaster.rb
|
|
121
|
+
- test/database.yml
|
|
122
|
+
- test/debug.log
|
|
123
|
+
- test/helper.rb
|
|
124
|
+
- test/schema.rb
|
|
125
|
+
- test/settler.yml
|
|
126
|
+
- test/test_settler.rb
|