rails_admin_settings 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -33,8 +33,10 @@ module RailsAdminSettings
33
33
 
34
34
  index(key: 1)
35
35
 
36
- if respond_to?(:rails_admin)
36
+ if Object.const_defined?('RailsAdmin')
37
37
  include RailsAdminSettings::RailsAdminConfig
38
+ else
39
+ puts "[rails_admin_settings] Rails Admin not detected -- put this gem after rails_admin in gemfile"
38
40
  end
39
41
  end
40
42
  end
@@ -10,7 +10,7 @@
10
10
  = form.text_area :raw, :value => field.value, :rows => 10, :cols => 80
11
11
 
12
12
  = javascript_include_tag "rich/base.js"
13
- javascript:
13
+ :javascript
14
14
  var instance = CKEDITOR.instances['#{form.dom_id(field)}'];
15
15
  if(instance) { CKEDITOR.remove(instance); }
16
16
  CKEDITOR.replace('#{form.dom_id(field)}', #{Rich.options().to_json.html_safe});
@@ -1,4 +1,18 @@
1
1
  ru:
2
2
  admin:
3
3
  settings:
4
- label: 'Settings'
4
+ label: 'Settings'
5
+ no_ckeditor_detected: CKEditor not found — showing as text input
6
+ phone_invalid: Incorrect phone
7
+ email_invalid: Incorrect email
8
+ yaml_invalid: Incorrect YAML
9
+ mongoid:
10
+ models:
11
+ rails_admin_settings/setting: Settings
12
+
13
+ attributes:
14
+ rails_admin_settings/setting:
15
+ key: Key
16
+ raw: Value
17
+ type: Type
18
+
@@ -5,7 +5,6 @@ module RailsAdminSettings
5
5
  autoload :Validation, "rails_admin_settings/validation"
6
6
  autoload :RequireHelpers, "rails_admin_settings/require_helpers"
7
7
  autoload :RailsAdminConfig, "rails_admin_settings/rails_admin_config"
8
- autoload :Setting, "rails_admin_settings/setting"
9
8
  end
10
9
 
11
10
  require "rails_admin_settings/types"
@@ -13,4 +12,6 @@ require "rails_admin_settings/settings"
13
12
 
14
13
  if Object.const_defined?('Rails')
15
14
  require "rails_admin_settings/engine"
15
+ else
16
+ require File.dirname(__FILE__) + '/../app/models/rails_admin_settings/setting.rb'
16
17
  end
@@ -1,38 +1,42 @@
1
1
  module RailsAdminSettings
2
2
  module RailsAdminConfig
3
3
  def self.included(base)
4
- base.rails_admin do
5
- navigation_label t('admin.settings.label')
4
+ if base.respond_to?(:rails_admin)
5
+ base.rails_admin do
6
+ navigation_label I18n.t('admin.settings.label')
6
7
 
7
- object_label_method do
8
- :key
9
- end
10
-
11
- list do
12
- if Object.const_defined?('RailsAdminToggleable')
13
- field :enabled, :toggle
14
- else
15
- field :enabled
8
+ object_label_method do
9
+ :key
16
10
  end
17
11
 
18
- field :key
19
- field :type
20
- end
21
-
22
- edit do
23
- field :enabled
24
-
25
- field :raw do
26
- partial "setting_value"
12
+ list do
13
+ if Object.const_defined?('RailsAdminToggleable')
14
+ field :enabled, :toggle
15
+ else
16
+ field :enabled
17
+ end
18
+ field :key
19
+ field :raw
20
+ field :type
27
21
  end
28
22
 
29
- field :key do
30
- read_only true
31
- end
32
- field :type do
33
- read_only true
23
+ edit do
24
+ field :enabled
25
+ field :key do
26
+ read_only true
27
+ help false
28
+ end
29
+ field :type do
30
+ read_only true
31
+ help false
32
+ end
33
+ field :raw do
34
+ partial "setting_value"
35
+ end
34
36
  end
35
37
  end
38
+ else
39
+ puts "[rails_admin_settings] Problem: model does not respond to rails_admin: this should not happen"
36
40
  end
37
41
  end
38
42
  end
@@ -3,6 +3,9 @@ class Settings
3
3
  def load!
4
4
  unless @@loaded
5
5
  @@settings = {}
6
+ RailsAdminSettings::Setting.all.each do |setting|
7
+ @@settings[setting.key] = setting
8
+ end
6
9
  @@loaded = true
7
10
  end
8
11
  end
@@ -86,7 +89,7 @@ class Settings
86
89
  load!
87
90
  options.symbolize_keys!
88
91
  options[:raw] = options.delete(:default)
89
- @@settings[key] = RailsAdminSettings::Setting.create(options.merge(key: key)) if @@settings[key].nil?
92
+ @@settings[key] = RailsAdminSettings::Setting.create!(options.merge(key: key)) if @@settings[key].nil?
90
93
  end
91
94
 
92
95
  # to satisfy rspec
@@ -11,7 +11,7 @@ module RailsAdminSettings
11
11
 
12
12
  base.validate if: :phone_type? do
13
13
  require_russian_phone do
14
- errors.add(:raw, I18n.t('admin.settings.phone_invalid')) unless raw.blank? || RussianPhone::Number.new(:raw).valid?
14
+ errors.add(:raw, I18n.t('admin.settings.phone_invalid')) unless raw.blank? || RussianPhone::Number.new(raw).valid?
15
15
  end
16
16
  end
17
17
 
@@ -1,3 +1,3 @@
1
1
  module RailsAdminSettings
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -29,6 +29,18 @@ describe Settings do
29
29
  Settings.loaded.should eq false
30
30
  end
31
31
 
32
+ it 'should properly store settings to DB' do
33
+ Settings.class_eval { cattr_accessor :loaded }
34
+ Settings.unload!
35
+ Settings.loaded.should eq false
36
+ Settings.temp = '123'
37
+ Settings.loaded.should eq true
38
+ Settings.unload!
39
+ Settings.loaded.should eq false
40
+ Settings.temp.should eq '123'
41
+ Settings.loaded.should eq true
42
+ end
43
+
32
44
  it 'should support yaml type' do
33
45
  Settings.tdata(type: 'yaml')
34
46
  Settings.tdata = ['one', 'two', 'three']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_admin_settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-22 00:00:00.000000000 Z
12
+ date: 2013-03-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mongoid
@@ -202,6 +202,7 @@ files:
202
202
  - LICENSE.txt
203
203
  - README.md
204
204
  - Rakefile
205
+ - app/models/rails_admin_settings/setting.rb
205
206
  - app/views/rails_admin/main/_setting_value.html.haml
206
207
  - config/locales/en.rails_admin_settings.yml
207
208
  - config/locales/ru.rails_admin_settings.yml
@@ -210,7 +211,6 @@ files:
210
211
  - lib/rails_admin_settings/processing.rb
211
212
  - lib/rails_admin_settings/rails_admin_config.rb
212
213
  - lib/rails_admin_settings/require_helpers.rb
213
- - lib/rails_admin_settings/setting.rb
214
214
  - lib/rails_admin_settings/settings.rb
215
215
  - lib/rails_admin_settings/types.rb
216
216
  - lib/rails_admin_settings/validation.rb
@@ -239,7 +239,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
239
239
  version: '0'
240
240
  segments:
241
241
  - 0
242
- hash: 1852916835368037287
242
+ hash: -2625523890821583171
243
243
  required_rubygems_version: !ruby/object:Gem::Requirement
244
244
  none: false
245
245
  requirements:
@@ -248,7 +248,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
248
248
  version: '0'
249
249
  segments:
250
250
  - 0
251
- hash: 1852916835368037287
251
+ hash: -2625523890821583171
252
252
  requirements: []
253
253
  rubyforge_project:
254
254
  rubygems_version: 1.8.25