rails_admin_settings 0.5.0 → 0.5.2

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.
@@ -1,50 +1,50 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- # this tests check how well rails_admin_settings handles settings disappearing from DB during execution
6
- # real usage: app specs with database_cleaner enabled
7
- describe Settings do
8
-
9
- it "should handle settings disappearing from DB" do
10
- email = "my@mail.ru"
11
- email2 = "my2@mail.ru"
12
- Settings.email = email
13
- Settings.email.should == email
14
- RailsAdminSettings::Setting.destroy_all
15
- # settings are still cached
16
- Settings.email.should == email
17
-
18
- Settings.email = email2
19
- Settings.email.should == email2
20
- end
21
-
22
- it "should handle settings appearing from DB" do
23
- Settings.tst2.should == ''
24
- RailsAdminSettings::Setting.create(key: 'tst', raw: 'tst')
25
- # settings are still cached, but when we try to create a setting it sees updated value in DB
26
- Settings.tst.should == 'tst'
27
- end
28
-
29
- it "should handle settings appearing in DB" do
30
- RailsAdminSettings::Setting.create(key: 'tst', raw: 'tst')
31
-
32
- Settings.tst = 'str'
33
- Settings.tst.should == 'str'
34
- end
35
-
36
- it "#destroy_all!" do
37
- Settings.tst = 'str'
38
- expect { Settings.destroy_all }.to raise_exception
39
- Settings.destroy_all!
40
- Settings.tst.should == ''
41
- end
42
- it "#destroy!" do
43
- Settings.tst = 'str'
44
- Settings.tst2 = 'str2'
45
- expect { Settings.destroy(:tst) }.to raise_exception
46
- Settings.destroy!(:tst)
47
- Settings.tst.should == ''
48
- Settings.tst2.should == 'str2'
49
- end
50
- end
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ # this tests check how well rails_admin_settings handles settings disappearing from DB during execution
6
+ # real usage: app specs with database_cleaner enabled
7
+ describe Settings do
8
+
9
+ it "should handle settings disappearing from DB" do
10
+ email = "my@mail.ru"
11
+ email2 = "my2@mail.ru"
12
+ Settings.email = email
13
+ Settings.email.should == email
14
+ RailsAdminSettings::Setting.destroy_all
15
+ # settings are still cached
16
+ Settings.email.should == email
17
+
18
+ Settings.email = email2
19
+ Settings.email.should == email2
20
+ end
21
+
22
+ it "should handle settings appearing from DB" do
23
+ Settings.tst2.should == ''
24
+ RailsAdminSettings::Setting.create(key: 'tst', raw: 'tst')
25
+ # settings are still cached, but when we try to create a setting it sees updated value in DB
26
+ Settings.tst.should == 'tst'
27
+ end
28
+
29
+ it "should handle settings appearing in DB" do
30
+ RailsAdminSettings::Setting.create(key: 'tst', raw: 'tst')
31
+
32
+ Settings.tst = 'str'
33
+ Settings.tst.should == 'str'
34
+ end
35
+
36
+ it "#destroy_all!" do
37
+ Settings.tst = 'str'
38
+ expect { Settings.destroy_all }.to raise_exception
39
+ Settings.destroy_all!
40
+ Settings.tst.should == ''
41
+ end
42
+ it "#destroy!" do
43
+ Settings.tst = 'str'
44
+ Settings.tst2 = 'str2'
45
+ expect { Settings.destroy(:tst) }.to raise_exception
46
+ Settings.destroy!(:tst)
47
+ Settings.tst.should == ''
48
+ Settings.tst2.should == 'str2'
49
+ end
50
+ end
@@ -1,8 +1,8 @@
1
- # coding: utf-8
2
-
3
- FactoryGirl.define do
4
- factory :setting, class: RailsAdminSettings::Setting do
5
- sequence(:key){|n| "setting_#{n}" }
6
- raw "Контент 1"
7
- end
8
- end
1
+ # coding: utf-8
2
+
3
+ FactoryGirl.define do
4
+ factory :setting, class: RailsAdminSettings::Setting do
5
+ sequence(:key){|n| "setting_#{n}" }
6
+ raw "Контент 1"
7
+ end
8
+ end
data/spec/model_spec.rb CHANGED
@@ -1,45 +1,45 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- describe RailsAdminSettings::Setting do
6
- it { should have_fields(:enabled, :key, :type, :raw) }
7
-
8
- it "correctly return content when enabled" do
9
- setting = FactoryGirl.create(:setting)
10
- setting.to_s.should eq "Контент 1"
11
- end
12
-
13
- it "return empty string when disabled" do
14
- setting = FactoryGirl.create(:setting, enabled: false)
15
- setting.to_s.should eq ""
16
- end
17
-
18
- it "correctly process {{year}}" do
19
- setting = FactoryGirl.create(:setting, raw: '© {{year}} company')
20
- setting.val.should eq "© #{Time.now.strftime('%Y')} company"
21
- end
22
-
23
- it "correctly process {{year|2010}}" do
24
- setting = FactoryGirl.create(:setting, raw: '© {{year|2010}} company')
25
- setting.val.should eq "© 2010-#{Time.now.strftime('%Y')} company"
26
- end
27
-
28
- it "correctly process {{year|current_year}}" do
29
- setting = FactoryGirl.create(:setting, raw: '© {{year|' + Time.now.strftime('%Y') + '}} company')
30
- setting.val.should eq "© #{Time.now.strftime('%Y')} company"
31
- setting.val.class.name.should_not eq "ActiveSupport::SafeBuffer"
32
- end
33
-
34
- it 'return html_safe string when in html mode' do
35
- setting = FactoryGirl.create(:setting, raw: '© {{year}} company', type: 'html')
36
- setting.val.should eq "© #{Time.now.strftime('%Y')} company"
37
- setting.val.class.name.should eq "ActiveSupport::SafeBuffer"
38
- end
39
-
40
- it 'sanitize html when in sanitized mode' do
41
- setting = FactoryGirl.create(:setting, raw: '&copy; {{year}} company <a href="javascript:alert()">test</a>', type: 'sanitized')
42
- setting.val.should eq "© #{Time.now.strftime('%Y')} company <a>test</a>"
43
- setting.val.class.name.should eq "ActiveSupport::SafeBuffer"
44
- end
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe RailsAdminSettings::Setting do
6
+ it { should have_fields(:enabled, :key, :type, :raw) }
7
+
8
+ it "correctly return content when enabled" do
9
+ setting = FactoryGirl.create(:setting)
10
+ setting.to_s.should eq "Контент 1"
11
+ end
12
+
13
+ it "return empty string when disabled" do
14
+ setting = FactoryGirl.create(:setting, enabled: false)
15
+ setting.to_s.should eq ""
16
+ end
17
+
18
+ it "correctly process {{year}}" do
19
+ setting = FactoryGirl.create(:setting, raw: '&copy; {{year}} company')
20
+ setting.val.should eq "&copy; #{Time.now.strftime('%Y')} company"
21
+ end
22
+
23
+ it "correctly process {{year|2010}}" do
24
+ setting = FactoryGirl.create(:setting, raw: '&copy; {{year|2010}} company')
25
+ setting.val.should eq "&copy; 2010-#{Time.now.strftime('%Y')} company"
26
+ end
27
+
28
+ it "correctly process {{year|current_year}}" do
29
+ setting = FactoryGirl.create(:setting, raw: '&copy; {{year|' + Time.now.strftime('%Y') + '}} company')
30
+ setting.val.should eq "&copy; #{Time.now.strftime('%Y')} company"
31
+ setting.val.class.name.should_not eq "ActiveSupport::SafeBuffer"
32
+ end
33
+
34
+ it 'return html_safe string when in html mode' do
35
+ setting = FactoryGirl.create(:setting, raw: '&copy; {{year}} company', type: 'html')
36
+ setting.val.should eq "&copy; #{Time.now.strftime('%Y')} company"
37
+ setting.val.class.name.should eq "ActiveSupport::SafeBuffer"
38
+ end
39
+
40
+ it 'sanitize html when in sanitized mode' do
41
+ setting = FactoryGirl.create(:setting, raw: '&copy; {{year}} company <a href="javascript:alert()">test</a>', type: 'sanitized')
42
+ setting.val.should eq "© #{Time.now.strftime('%Y')} company <a>test</a>"
43
+ setting.val.class.name.should eq "ActiveSupport::SafeBuffer"
44
+ end
45
45
  end
data/spec/types_spec.rb CHANGED
@@ -1,63 +1,63 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- describe 'Settings advanced usage' do
6
- it 'support html type' do
7
- Settings.get(:email, type: 'html', default: 'test@example.com').to_s.should eq 'test@example.com'
8
- end
9
-
10
- it 'support integer type' do
11
- Settings.get(:testint, type: 'integer').value.should eq 0
12
- Settings.get(:testint, default: 5, type: 'integer').value.should eq 0
13
- Settings.get(:testint2, default: 5, type: 'integer').value.should eq 5
14
- Settings.testint2.should eq 5
15
- end
16
-
17
- it 'supports yaml type' do
18
- Settings.set(:data, '[one, two, three]', type: 'yaml')
19
- Settings.get(:data).raw.should eq '[one, two, three]'
20
- Settings.data.should eq ['one', 'two', 'three']
21
- end
22
-
23
- it 'supports phone type' do
24
- Settings.set(:tphone, '906 111 11 11', type: 'phone')
25
- Settings.get(:tphone).val.class.name.should eq 'RussianPhone::Number'
26
- Settings.tphone.class.name.should eq 'RussianPhone::Number'
27
- Settings.tphone.should eq '906 111 11 11'
28
- Settings.get(:tphone).phone_type?.should be_true
29
- Settings.get(:tphone).val.city.should eq '906'
30
- Settings.get(:tphone).val.formatted_subscriber.should eq '111-11-11'
31
- end
32
-
33
- it 'sets defaults for phone type' do
34
- Settings.dphone(type: 'phone')
35
- Settings.get(:dphone).phone_type?.should be_true
36
- Settings.dphone.formatted_area.should eq ''
37
- Settings.dphone.formatted_subscriber.should eq ''
38
- end
39
-
40
- it 'validates emails with email type' do
41
- Settings.eml(type: 'email')
42
- Settings.get(:eml).email_type?.should be_true
43
- expect { Settings.eml = '1' }.to raise_error
44
- Settings.eml = 'test@example.com'
45
- Settings.eml.should eq 'test@example.com'
46
- end
47
-
48
- it 'processes urls with url type' do
49
- Settings.url(type: 'url')
50
- Settings.get(:url).url_type?.should be_true
51
- Settings.get(:url).color_type?.should be_false
52
- Settings.url = 'test.ru'
53
- Settings.url.should eq 'http://test.ru'
54
- end
55
-
56
- it 'supports color type' do
57
- Settings.col(type: 'color')
58
- Settings.get(:col).color_type?.should be_true
59
- expect { Settings.col = 'test'}.to raise_error
60
- Settings.col = 'ffffff'
61
- Settings.col.should eq 'ffffff'
62
- end
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'Settings advanced usage' do
6
+ it 'support html type' do
7
+ Settings.get(:email, type: 'html', default: 'test@example.com').to_s.should eq 'test@example.com'
8
+ end
9
+
10
+ it 'support integer type' do
11
+ Settings.get(:testint, type: 'integer').value.should eq 0
12
+ Settings.get(:testint, default: 5, type: 'integer').value.should eq 0
13
+ Settings.get(:testint2, default: 5, type: 'integer').value.should eq 5
14
+ Settings.testint2.should eq 5
15
+ end
16
+
17
+ it 'supports yaml type' do
18
+ Settings.set(:data, '[one, two, three]', type: 'yaml')
19
+ Settings.get(:data).raw.should eq '[one, two, three]'
20
+ Settings.data.should eq ['one', 'two', 'three']
21
+ end
22
+
23
+ it 'supports phone type' do
24
+ Settings.set(:tphone, '906 111 11 11', type: 'phone')
25
+ Settings.get(:tphone).val.class.name.should eq 'RussianPhone::Number'
26
+ Settings.tphone.class.name.should eq 'RussianPhone::Number'
27
+ Settings.tphone.should eq '906 111 11 11'
28
+ Settings.get(:tphone).phone_type?.should be_true
29
+ Settings.get(:tphone).val.city.should eq '906'
30
+ Settings.get(:tphone).val.formatted_subscriber.should eq '111-11-11'
31
+ end
32
+
33
+ it 'sets defaults for phone type' do
34
+ Settings.dphone(type: 'phone')
35
+ Settings.get(:dphone).phone_type?.should be_true
36
+ Settings.dphone.formatted_area.should eq ''
37
+ Settings.dphone.formatted_subscriber.should eq ''
38
+ end
39
+
40
+ it 'validates emails with email type' do
41
+ Settings.eml(type: 'email')
42
+ Settings.get(:eml).email_type?.should be_true
43
+ expect { Settings.eml = '1' }.to raise_error
44
+ Settings.eml = 'test@example.com'
45
+ Settings.eml.should eq 'test@example.com'
46
+ end
47
+
48
+ it 'processes urls with url type' do
49
+ Settings.url(type: 'url')
50
+ Settings.get(:url).url_type?.should be_true
51
+ Settings.get(:url).color_type?.should be_false
52
+ Settings.url = 'test.ru'
53
+ Settings.url.should eq 'http://test.ru'
54
+ end
55
+
56
+ it 'supports color type' do
57
+ Settings.col(type: 'color')
58
+ Settings.get(:col).color_type?.should be_true
59
+ expect { Settings.col = 'test'}.to raise_error
60
+ Settings.col = 'ffffff'
61
+ Settings.col.should eq 'ffffff'
62
+ end
63
63
  end
metadata CHANGED
@@ -1,52 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_admin_settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
5
- prerelease:
4
+ version: 0.5.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Gleb Tv
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-03 00:00:00.000000000 Z
11
+ date: 2013-07-20 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: mongoid
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '3.1'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '3.1'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: bundler
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rake
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rspec
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: mongoid-rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: simplecov
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: database_cleaner
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: factory_girl
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ~>
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ~>
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: safe_yaml
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ~>
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ~>
156
137
  - !ruby/object:Gem::Version
@@ -158,7 +139,6 @@ dependencies:
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: russian_phone
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - ~>
164
144
  - !ruby/object:Gem::Version
@@ -166,7 +146,6 @@ dependencies:
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - ~>
172
151
  - !ruby/object:Gem::Version
@@ -174,7 +153,6 @@ dependencies:
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: sanitize
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
157
  - - ~>
180
158
  - !ruby/object:Gem::Version
@@ -182,7 +160,6 @@ dependencies:
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
164
  - - ~>
188
165
  - !ruby/object:Gem::Version
@@ -190,7 +167,6 @@ dependencies:
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: validates_email_format_of
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
171
  - - ~>
196
172
  - !ruby/object:Gem::Version
@@ -198,7 +174,6 @@ dependencies:
198
174
  type: :development
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
178
  - - ~>
204
179
  - !ruby/object:Gem::Version
@@ -206,7 +181,6 @@ dependencies:
206
181
  - !ruby/object:Gem::Dependency
207
182
  name: geocoder
208
183
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
184
  requirements:
211
185
  - - ~>
212
186
  - !ruby/object:Gem::Version
@@ -214,7 +188,6 @@ dependencies:
214
188
  type: :development
215
189
  prerelease: false
216
190
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
191
  requirements:
219
192
  - - ~>
220
193
  - !ruby/object:Gem::Version
@@ -222,7 +195,6 @@ dependencies:
222
195
  - !ruby/object:Gem::Dependency
223
196
  name: addressable
224
197
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
198
  requirements:
227
199
  - - ~>
228
200
  - !ruby/object:Gem::Version
@@ -230,7 +202,6 @@ dependencies:
230
202
  type: :development
231
203
  prerelease: false
232
204
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
205
  requirements:
235
206
  - - ~>
236
207
  - !ruby/object:Gem::Version
@@ -282,33 +253,26 @@ files:
282
253
  homepage: https://github.com/rs-pro/rails_admin_settings
283
254
  licenses:
284
255
  - MIT
256
+ metadata: {}
285
257
  post_install_message:
286
258
  rdoc_options: []
287
259
  require_paths:
288
260
  - lib
289
261
  required_ruby_version: !ruby/object:Gem::Requirement
290
- none: false
291
262
  requirements:
292
- - - ! '>='
263
+ - - '>='
293
264
  - !ruby/object:Gem::Version
294
265
  version: '0'
295
- segments:
296
- - 0
297
- hash: 1108480110300401227
298
266
  required_rubygems_version: !ruby/object:Gem::Requirement
299
- none: false
300
267
  requirements:
301
- - - ! '>='
268
+ - - '>='
302
269
  - !ruby/object:Gem::Version
303
270
  version: '0'
304
- segments:
305
- - 0
306
- hash: 1108480110300401227
307
271
  requirements: []
308
272
  rubyforge_project:
309
- rubygems_version: 1.8.25
273
+ rubygems_version: 2.0.3
310
274
  signing_key:
311
- specification_version: 3
275
+ specification_version: 4
312
276
  summary: Setting for Rails app with mongoid and RailsAdmin
313
277
  test_files:
314
278
  - spec/advanced_usage_spec.rb