golden-setting 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f164c6d98361ffa4e4b3771ce3cf17eafff21cfd
4
- data.tar.gz: 25fc0397c0c46b4fc9b4d86a2cd6a94ba96318e8
3
+ metadata.gz: 512bed1909c6513efb9e69ae74b1dc7c2d8a0f95
4
+ data.tar.gz: 7ccc2a33821007ea7293f445b257c8311be4cc84
5
5
  SHA512:
6
- metadata.gz: 400e88f42a4b4a1f174df3c8bb3931fbda32b6a82ba3e14cb4ff86a6ee1bc717e9745fdde75578fbb79747f7c62d02872f63078c40ef9dd5d67231d484c57364
7
- data.tar.gz: 6ea526354f6ca07787eb6db00abfa26288b270188ad56ef97eb2090e6b293755cf8adc77c8eda2758c0200b3b2b22cd9973e931df302ad8be82f93b3ca729d5b
6
+ metadata.gz: fa58ff93a5ab01f2baa9a81f82abfb18e3e497592ad2d176013d8f2a7daddd0e60bf404664799e2958912dfb785a88846adbb32683235fe841a8b4ec86ef873c
7
+ data.tar.gz: a2f19af0367d4b98e0f66ed9deb4010f893987f47a26dd6b79555c14a97f582eba9e112f6f59b634af700ce703d367a4f701306378f929902eb1ba93927fa38b
data/README.md CHANGED
@@ -14,7 +14,7 @@ gem 'cancancan'
14
14
  gem 'simple_form', '~> 3.0'
15
15
  gem 'bootstrap-sass'
16
16
  gem 'will_paginate'
17
- gem 'rails-theme-helper'
17
+ gem 'golden-theme'
18
18
  ```
19
19
 
20
20
  If you add `gem 'protected_attributes'` in your `Gemfile`, remember to add
@@ -33,7 +33,7 @@ gem 'cancancan'
33
33
  gem 'simple_form', '>= 2.0', '< 3.0'
34
34
  gem 'bootstrap-sass'
35
35
  gem 'will_paginate'
36
- gem 'rails-theme-helper'
36
+ gem 'golden-theme'
37
37
  ```
38
38
 
39
39
  Please make sure these gems are installed and configured properly.
@@ -68,6 +68,7 @@ You will need to add these basic configures of `golden-setting` for your needs.
68
68
  * `groups` for grouping settings with a name
69
69
  * `default_group` for saving settings with a group
70
70
  * `default_tab` for a group of settings shown in tab views
71
+ * `before_actions` for setting up authentication filters
71
72
 
72
73
  Edit `config/initializers/golden_setting.rb` for more detail.
73
74
 
@@ -137,7 +138,7 @@ You can add virtaul settings for your application by setting defaults.
137
138
  Add `config/initializers/golden_setting_defaults.rb`.
138
139
 
139
140
  ```ruby
140
- YourApp::Application.config.after_initialize do
141
+ Rails.application.config.after_initialize do
141
142
  Setting.defaults[:administrator] = 'tsechingho'
142
143
  end
143
144
  ```
@@ -152,7 +153,7 @@ Setting.administrator # => 'tsechingho'
152
153
  You can also save default settings in database after initializing your application.
153
154
 
154
155
  ```ruby
155
- YourApp::Application.config.after_initialize do
156
+ Rails.application.config.after_initialize do
156
157
  Setting.save_default :manager, 'tsechingho'
157
158
  end
158
159
  ```
@@ -165,6 +166,8 @@ Setting.object('manager').group # => 'site'
165
166
  Setting.manager # => 'tsechingho'
166
167
  ```
167
168
 
169
+ For Rails 3 project, use `YourApp::Application.config.after_initialize` instead.
170
+
168
171
  ### Resourced settings
169
172
 
170
173
  Settings may be bound to any existing ActiveRecord object.
@@ -1,5 +1,10 @@
1
1
  class Golden::Setting::SettingsController < ApplicationController
2
- before_filter :authenticate_session!
2
+ if Golden::Setting.before_actions.blank?
3
+ raise "Please set config.before_actions like `authenticate_user!` for security."
4
+ end
5
+ Golden::Setting.before_actions.each do |action|
6
+ before_filter action.to_sym
7
+ end
3
8
  before_filter :load_setting_class, only: [:index, :create, :list, :batch_update]
4
9
  before_filter :new_setting, only: [:create]
5
10
  load_and_authorize_resource :setting, class: Golden::Setting.setting_class, parent: false
@@ -47,7 +52,7 @@ class Golden::Setting::SettingsController < ApplicationController
47
52
  def batch_update
48
53
  params[:setting].each do |setting, value|
49
54
  @setting_class.send "#{setting}=", value
50
- end
55
+ end if params[:setting]
51
56
  redirect_to action: :index
52
57
  end
53
58
 
@@ -7,8 +7,8 @@ Example:
7
7
  This will create/modify:
8
8
  db/migrate/20130516050309_create_golden_settings.rb
9
9
  app/models/setting.rb
10
- app/assets/javascripts/application.js
11
- app/assets/stylesheets/application.css
10
+ app/assets/javascripts/application.js(.coffee)
11
+ app/assets/stylesheets/application.css(.sass|.scss)
12
12
  config/initializers/golden_setting.rb
13
13
  config/application.rb
14
14
  config/locales/golden/settings.en.yml
@@ -24,8 +24,9 @@ class Golden::Setting::InstallGenerator < Rails::Generators::NamedBase
24
24
  template file, File.join('app/models', class_path, "#{file_name}.rb"), verbose: false
25
25
  end
26
26
 
27
- def inject_javascript
27
+ def inject_javascript_js
28
28
  file = 'app/assets/javascripts/application.js'
29
+ return unless File.exists? file
29
30
  log :javascripts, 'application.js'
30
31
  sentinel = "//= require_tree .\n"
31
32
  insert_into_file file, before: sentinel, verbose: false do
@@ -33,8 +34,19 @@ class Golden::Setting::InstallGenerator < Rails::Generators::NamedBase
33
34
  end
34
35
  end
35
36
 
36
- def inject_stylesheet
37
+ def inject_javascript_coffee
38
+ file = 'app/assets/javascripts/application.js.coffee'
39
+ return unless File.exists? file
40
+ log :javascripts, 'application.js.coffee'
41
+ sentinel = "#= require_tree .\n"
42
+ insert_into_file file, before: sentinel, verbose: false do
43
+ "#= require golden/setting/settings\n"
44
+ end
45
+ end
46
+
47
+ def inject_stylesheet_css
37
48
  file = 'app/assets/stylesheets/application.css'
49
+ return unless File.exists? file
38
50
  log :stylesheets, 'application.css'
39
51
  sentinel = " *= require_self\n"
40
52
  insert_into_file file, before: sentinel, verbose: false do
@@ -42,6 +54,26 @@ class Golden::Setting::InstallGenerator < Rails::Generators::NamedBase
42
54
  end
43
55
  end
44
56
 
57
+ def inject_stylesheet_sass
58
+ file = 'app/assets/stylesheets/application.css.sass'
59
+ return unless File.exists? file
60
+ log :stylesheets, 'application.css.sass'
61
+ sentinel = "//= require_self\n"
62
+ insert_into_file file, before: sentinel, verbose: false do
63
+ "//= require golden/setting/settings\n"
64
+ end
65
+ end
66
+
67
+ def inject_stylesheet_scss
68
+ file = 'app/assets/stylesheets/application.css.scss'
69
+ return unless File.exists? file
70
+ log :stylesheets, 'application.css.scss'
71
+ sentinel = "//= require_self\n"
72
+ insert_into_file file, before: sentinel, verbose: false do
73
+ "//= require golden/setting/settings\n"
74
+ end
75
+ end
76
+
45
77
  def generate_initializer
46
78
  file = 'golden_setting.rb'
47
79
  log :initializer, file
@@ -68,14 +100,6 @@ class Golden::Setting::InstallGenerator < Rails::Generators::NamedBase
68
100
  route "mount Golden::Setting::Engine, at: '/'\n"
69
101
  end
70
102
 
71
- def inject_controller
72
- file = 'app/controllers/application_controller.rb'
73
- sentinel = "protect_from_forgery with: :exception\n"
74
- insert_into_file file, after: sentinel do
75
- " alias_method :authenticate_session!, :authenticate_user!\n"
76
- end
77
- end
78
-
79
103
  def inject_layout
80
104
  file = 'app/views/layouts/application.html.erb'
81
105
  sentinel = "<%= yield %>\n"
@@ -36,4 +36,9 @@ Golden::Setting.configure do |config|
36
36
 
37
37
  # Add more allowed fields for strong paramters.
38
38
  #config.permitted_fields += []
39
+
40
+ # Define before_actions.
41
+ config.before_actions += [
42
+ 'authenticate_user!'
43
+ ]
39
44
  end
@@ -40,6 +40,9 @@ module Golden
40
40
  :field_type, :field_values, :group, :name, :value
41
41
  ]
42
42
 
43
+ mattr_accessor :before_actions
44
+ @@before_actions = []
45
+
43
46
  def self.configure
44
47
  yield self
45
48
  end
@@ -1,5 +1,5 @@
1
1
  module Golden
2
2
  module Setting
3
- VERSION = '0.7.0'
3
+ VERSION = '0.8.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: golden-setting
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tse-Ching Ho
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-29 00:00:00.000000000 Z
11
+ date: 2014-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord