rails-settings-ui 0.0.2 → 0.1.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.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/Rakefile +11 -10
  4. data/app/assets/stylesheets/rails_settings_ui/application.css.scss +2 -2
  5. data/app/controllers/rails_settings_ui/settings_controller.rb +1 -1
  6. data/app/helpers/rails_settings_ui/settings_helper.rb +32 -63
  7. data/lib/rails-settings-ui.rb +1 -1
  8. data/lib/rails-settings-ui/engine.rb +7 -0
  9. data/lib/rails-settings-ui/type_converter.rb +58 -0
  10. data/lib/rails-settings-ui/value_types/array.rb +17 -0
  11. data/lib/rails-settings-ui/value_types/base.rb +30 -0
  12. data/lib/rails-settings-ui/value_types/boolean.rb +11 -0
  13. data/lib/rails-settings-ui/value_types/fixnum.rb +17 -0
  14. data/lib/rails-settings-ui/value_types/float.rb +17 -0
  15. data/lib/rails-settings-ui/value_types/hash.rb +19 -0
  16. data/lib/rails-settings-ui/value_types/string.rb +11 -0
  17. data/lib/rails-settings-ui/value_types/symbol.rb +11 -0
  18. data/lib/rails-settings-ui/version.rb +1 -1
  19. data/spec/dummy/README.rdoc +28 -0
  20. data/spec/dummy/Rakefile +6 -0
  21. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  22. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  23. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  24. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  25. data/spec/dummy/app/models/settings.rb +16 -0
  26. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  27. data/spec/dummy/bin/bundle +3 -0
  28. data/spec/dummy/bin/rails +4 -0
  29. data/spec/dummy/bin/rake +4 -0
  30. data/spec/dummy/config.ru +4 -0
  31. data/spec/dummy/config/application.rb +28 -0
  32. data/spec/dummy/config/boot.rb +5 -0
  33. data/spec/dummy/config/database.yml +24 -0
  34. data/spec/dummy/config/environment.rb +5 -0
  35. data/spec/dummy/config/environments/development.rb +29 -0
  36. data/spec/dummy/config/environments/production.rb +80 -0
  37. data/spec/dummy/config/environments/test.rb +36 -0
  38. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  39. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  40. data/spec/dummy/config/initializers/inflections.rb +16 -0
  41. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  42. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  43. data/spec/dummy/config/initializers/session_store.rb +3 -0
  44. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  45. data/spec/dummy/config/locales/en.yml +23 -0
  46. data/spec/dummy/config/routes.rb +3 -0
  47. data/spec/dummy/db/migrate/20140320182332_create_settings.rb +17 -0
  48. data/spec/dummy/db/schema.rb +27 -0
  49. data/spec/dummy/db/test.sqlite3 +0 -0
  50. data/spec/dummy/log/development.log +264 -0
  51. data/spec/dummy/log/test.log +3237 -0
  52. data/spec/dummy/public/404.html +58 -0
  53. data/spec/dummy/public/422.html +58 -0
  54. data/spec/dummy/public/500.html +57 -0
  55. data/spec/dummy/public/favicon.ico +0 -0
  56. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  57. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  58. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  59. data/spec/dummy/tmp/capybara/capybara-201403251000145108838835.html +68 -0
  60. data/spec/dummy/tmp/capybara/capybara-201403251029034025293240.html +95 -0
  61. data/spec/features/settings_spec.rb +63 -0
  62. data/spec/lib/rails-settings-ui/type_converter_spec.rb +33 -0
  63. data/spec/lib/rails-settings-ui/value_types/array_spec.rb +15 -0
  64. data/spec/lib/rails-settings-ui/value_types/base_spec.rb +23 -0
  65. data/spec/lib/rails-settings-ui/value_types/boolean_spec.rb +10 -0
  66. data/spec/lib/rails-settings-ui/value_types/fixnum_spec.rb +17 -0
  67. data/spec/lib/rails-settings-ui/value_types/float_spec.rb +17 -0
  68. data/spec/lib/rails-settings-ui/value_types/hash_spec.rb +26 -0
  69. data/spec/lib/rails-settings-ui/value_types/string_spec.rb +10 -0
  70. data/spec/lib/rails-settings-ui/value_types/symbol_spec.rb +10 -0
  71. data/spec/spec_helper.rb +27 -0
  72. metadata +175 -3
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsSettingsUi::ValueTypes::Array do
4
+ describe "#cast" do
5
+ it "should cast hash as array of keys as symbols" do
6
+ array_type = RailsSettingsUi::ValueTypes::Array.new({auto: "on", manual: "on"})
7
+ expect(array_type.cast).to eq([:auto, :manual])
8
+ end
9
+
10
+ it "if setting presented as select should cast select value as symbol" do
11
+ array_type = RailsSettingsUi::ValueTypes::Array.new("auto")
12
+ expect(array_type.cast).to eq(:auto)
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsSettingsUi::ValueTypes::Base do
4
+ describe "if value have any errors" do
5
+ it "should not be valid" do
6
+ base_type = RailsSettingsUi::ValueTypes::Base.new("test")
7
+ base_type.errors << "Invalid"
8
+ expect(base_type.valid?).to be_false
9
+ end
10
+ end
11
+
12
+ describe "#value_numeric?" do
13
+ it "if value is numeric should return true" do
14
+ base_type = RailsSettingsUi::ValueTypes::Base.new(349)
15
+ expect(base_type.value_numeric?).to be_true
16
+ end
17
+
18
+ it "if value is not numeric should return false" do
19
+ base_type = RailsSettingsUi::ValueTypes::Base.new("str")
20
+ expect(base_type.value_numeric?).to be_false
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsSettingsUi::ValueTypes::Boolean do
4
+ describe "#cast" do
5
+ it "should cast to true" do
6
+ boolean_type = RailsSettingsUi::ValueTypes::Boolean.new("on")
7
+ expect(boolean_type.cast).to eq(true)
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsSettingsUi::ValueTypes::Fixnum do
4
+ describe "#cast" do
5
+ it "should cast to integer" do
6
+ fixnum_type = RailsSettingsUi::ValueTypes::Fixnum.new("29")
7
+ expect(fixnum_type.cast).to eq(29)
8
+ end
9
+ end
10
+
11
+ describe "if value not numeric" do
12
+ it "should be not valid" do
13
+ fixnum_type = RailsSettingsUi::ValueTypes::Fixnum.new("qwerty")
14
+ expect(fixnum_type.valid?).to be_false
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsSettingsUi::ValueTypes::Float do
4
+ describe "#cast" do
5
+ it "should cast to float" do
6
+ fixnum_type = RailsSettingsUi::ValueTypes::Float.new("99.21")
7
+ expect(fixnum_type.cast).to eq(99.21)
8
+ end
9
+ end
10
+
11
+ describe "if value not numeric" do
12
+ it "should be not valid" do
13
+ fixnum_type = RailsSettingsUi::ValueTypes::Float.new("qwerty")
14
+ expect(fixnum_type.valid?).to be_false
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsSettingsUi::ValueTypes::Hash do
4
+ describe "#cast" do
5
+ it "should cast string to hash" do
6
+ param = "{\"border_color\"=>\"e0e0e0\", \"block_color\"=>\"ffffff\", \"title\"=>{\"font\"=>\"Tahoma\", \"size\"=>\"12\", \"color\"=>\"107821\"}}"
7
+ fixnum_type = RailsSettingsUi::ValueTypes::Hash.new(param)
8
+ expect(fixnum_type.cast).to eq({
9
+ "border_color" => "e0e0e0",
10
+ "block_color" => "ffffff",
11
+ "title" => {
12
+ "font" => "Tahoma",
13
+ "size" => "12",
14
+ "color" => "107821"
15
+ }
16
+ })
17
+ end
18
+ end
19
+
20
+ describe "if value not valid hash" do
21
+ it "should be not valid" do
22
+ fixnum_type = RailsSettingsUi::ValueTypes::Hash.new("{\"border_color\"=>, \"block_color\"=>\"ffffff\"")
23
+ expect(fixnum_type.valid?).to be_false
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsSettingsUi::ValueTypes::String do
4
+ describe "#cast" do
5
+ it "should cast to string" do
6
+ boolean_type = RailsSettingsUi::ValueTypes::String.new("foo")
7
+ expect(boolean_type.cast).to eq("foo")
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsSettingsUi::ValueTypes::Symbol do
4
+ describe "#cast" do
5
+ it "should cast to symbol" do
6
+ boolean_type = RailsSettingsUi::ValueTypes::Symbol.new("foo")
7
+ expect(boolean_type.cast).to eq(:foo)
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,27 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+
3
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+ require 'capybara/rails'
7
+ require 'capybara/rspec'
8
+ require 'factory_girl_rails'
9
+
10
+ load "#{Rails.root.to_s}/db/schema.rb" # set up memory db
11
+
12
+ Rails.backtrace_cleaner.remove_silencers!
13
+
14
+ # Load support files
15
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
16
+
17
+ RSpec.configure do |config|
18
+ config.mock_with :rspec
19
+ config.use_transactional_fixtures = true
20
+ config.infer_base_class_for_anonymous_controllers = false
21
+ config.order = "random"
22
+
23
+ config.after(:each, :type => :request) do
24
+ Capybara.reset_sessions! # Forget the (simulated) browser state
25
+ Capybara.use_default_driver # Revert Capybara.current_driver to Capybara.default_driver
26
+ end
27
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-settings-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Morskov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-20 00:00:00.000000000 Z
11
+ date: 2014-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -66,6 +66,62 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-rails
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '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'
83
+ - !ruby/object:Gem::Dependency
84
+ name: capybara
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: bundler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: factory_girl_rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
69
125
  description: User interface for manage settings with rails-settings gem
70
126
  email: accessd0@gmail.com
71
127
  executables: []
@@ -91,7 +147,69 @@ files:
91
147
  - lib/rails-settings-ui.rb
92
148
  - lib/rails-settings-ui/engine.rb
93
149
  - lib/rails-settings-ui/main_app_route_delegator.rb
150
+ - lib/rails-settings-ui/type_converter.rb
151
+ - lib/rails-settings-ui/value_types/array.rb
152
+ - lib/rails-settings-ui/value_types/base.rb
153
+ - lib/rails-settings-ui/value_types/boolean.rb
154
+ - lib/rails-settings-ui/value_types/fixnum.rb
155
+ - lib/rails-settings-ui/value_types/float.rb
156
+ - lib/rails-settings-ui/value_types/hash.rb
157
+ - lib/rails-settings-ui/value_types/string.rb
158
+ - lib/rails-settings-ui/value_types/symbol.rb
94
159
  - lib/rails-settings-ui/version.rb
160
+ - spec/dummy/README.rdoc
161
+ - spec/dummy/Rakefile
162
+ - spec/dummy/app/assets/javascripts/application.js
163
+ - spec/dummy/app/assets/stylesheets/application.css
164
+ - spec/dummy/app/controllers/application_controller.rb
165
+ - spec/dummy/app/helpers/application_helper.rb
166
+ - spec/dummy/app/models/settings.rb
167
+ - spec/dummy/app/views/layouts/application.html.erb
168
+ - spec/dummy/bin/bundle
169
+ - spec/dummy/bin/rails
170
+ - spec/dummy/bin/rake
171
+ - spec/dummy/config.ru
172
+ - spec/dummy/config/application.rb
173
+ - spec/dummy/config/boot.rb
174
+ - spec/dummy/config/database.yml
175
+ - spec/dummy/config/environment.rb
176
+ - spec/dummy/config/environments/development.rb
177
+ - spec/dummy/config/environments/production.rb
178
+ - spec/dummy/config/environments/test.rb
179
+ - spec/dummy/config/initializers/backtrace_silencers.rb
180
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
181
+ - spec/dummy/config/initializers/inflections.rb
182
+ - spec/dummy/config/initializers/mime_types.rb
183
+ - spec/dummy/config/initializers/secret_token.rb
184
+ - spec/dummy/config/initializers/session_store.rb
185
+ - spec/dummy/config/initializers/wrap_parameters.rb
186
+ - spec/dummy/config/locales/en.yml
187
+ - spec/dummy/config/routes.rb
188
+ - spec/dummy/db/migrate/20140320182332_create_settings.rb
189
+ - spec/dummy/db/schema.rb
190
+ - spec/dummy/db/test.sqlite3
191
+ - spec/dummy/log/development.log
192
+ - spec/dummy/log/test.log
193
+ - spec/dummy/public/404.html
194
+ - spec/dummy/public/422.html
195
+ - spec/dummy/public/500.html
196
+ - spec/dummy/public/favicon.ico
197
+ - spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
198
+ - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
199
+ - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
200
+ - spec/dummy/tmp/capybara/capybara-201403251000145108838835.html
201
+ - spec/dummy/tmp/capybara/capybara-201403251029034025293240.html
202
+ - spec/features/settings_spec.rb
203
+ - spec/lib/rails-settings-ui/type_converter_spec.rb
204
+ - spec/lib/rails-settings-ui/value_types/array_spec.rb
205
+ - spec/lib/rails-settings-ui/value_types/base_spec.rb
206
+ - spec/lib/rails-settings-ui/value_types/boolean_spec.rb
207
+ - spec/lib/rails-settings-ui/value_types/fixnum_spec.rb
208
+ - spec/lib/rails-settings-ui/value_types/float_spec.rb
209
+ - spec/lib/rails-settings-ui/value_types/hash_spec.rb
210
+ - spec/lib/rails-settings-ui/value_types/string_spec.rb
211
+ - spec/lib/rails-settings-ui/value_types/symbol_spec.rb
212
+ - spec/spec_helper.rb
95
213
  homepage: https://github.com/accessd/rails-settings-ui
96
214
  licenses:
97
215
  - MIT
@@ -116,4 +234,58 @@ rubygems_version: 2.2.2
116
234
  signing_key:
117
235
  specification_version: 4
118
236
  summary: User interface for manage settings (rails engine)
119
- test_files: []
237
+ test_files:
238
+ - spec/features/settings_spec.rb
239
+ - spec/lib/rails-settings-ui/type_converter_spec.rb
240
+ - spec/lib/rails-settings-ui/value_types/boolean_spec.rb
241
+ - spec/lib/rails-settings-ui/value_types/base_spec.rb
242
+ - spec/lib/rails-settings-ui/value_types/fixnum_spec.rb
243
+ - spec/lib/rails-settings-ui/value_types/array_spec.rb
244
+ - spec/lib/rails-settings-ui/value_types/float_spec.rb
245
+ - spec/lib/rails-settings-ui/value_types/hash_spec.rb
246
+ - spec/lib/rails-settings-ui/value_types/string_spec.rb
247
+ - spec/lib/rails-settings-ui/value_types/symbol_spec.rb
248
+ - spec/spec_helper.rb
249
+ - spec/dummy/public/404.html
250
+ - spec/dummy/public/422.html
251
+ - spec/dummy/public/favicon.ico
252
+ - spec/dummy/public/500.html
253
+ - spec/dummy/bin/rake
254
+ - spec/dummy/bin/rails
255
+ - spec/dummy/bin/bundle
256
+ - spec/dummy/db/test.sqlite3
257
+ - spec/dummy/db/schema.rb
258
+ - spec/dummy/db/migrate/20140320182332_create_settings.rb
259
+ - spec/dummy/app/helpers/application_helper.rb
260
+ - spec/dummy/app/assets/javascripts/application.js
261
+ - spec/dummy/app/assets/stylesheets/application.css
262
+ - spec/dummy/app/controllers/application_controller.rb
263
+ - spec/dummy/app/models/settings.rb
264
+ - spec/dummy/app/views/layouts/application.html.erb
265
+ - spec/dummy/config.ru
266
+ - spec/dummy/config/routes.rb
267
+ - spec/dummy/config/environment.rb
268
+ - spec/dummy/config/initializers/inflections.rb
269
+ - spec/dummy/config/initializers/secret_token.rb
270
+ - spec/dummy/config/initializers/session_store.rb
271
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
272
+ - spec/dummy/config/initializers/wrap_parameters.rb
273
+ - spec/dummy/config/initializers/mime_types.rb
274
+ - spec/dummy/config/initializers/backtrace_silencers.rb
275
+ - spec/dummy/config/application.rb
276
+ - spec/dummy/config/locales/en.yml
277
+ - spec/dummy/config/environments/test.rb
278
+ - spec/dummy/config/environments/development.rb
279
+ - spec/dummy/config/environments/production.rb
280
+ - spec/dummy/config/boot.rb
281
+ - spec/dummy/config/database.yml
282
+ - spec/dummy/tmp/capybara/capybara-201403251029034025293240.html
283
+ - spec/dummy/tmp/capybara/capybara-201403251000145108838835.html
284
+ - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
285
+ - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
286
+ - spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
287
+ - spec/dummy/README.rdoc
288
+ - spec/dummy/Rakefile
289
+ - spec/dummy/log/test.log
290
+ - spec/dummy/log/development.log
291
+ has_rdoc: