activeadmin_settings_cached 0.0.1 → 0.0.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.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +31 -12
- data/activeadmin_settings_cached.gemspec +1 -1
- data/app/admin/settings.rb +16 -0
- data/app/controllers/activeadmin_settings_cached/settings_controller.rb +23 -0
- data/app/views/admin/settings/_index.html.erb +25 -0
- data/config/locales/ru.yml +11 -0
- data/config/routes.rb +3 -0
- data/lib/activeadmin_settings_cached/engine.rb +13 -0
- data/lib/activeadmin_settings_cached/version.rb +1 -1
- metadata +19 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8da2e81eeb7e2fb9994d1473ce68467d1ebe2d32
|
|
4
|
+
data.tar.gz: 2eae8c755d9597916f44265c31f9df8395767df1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dc350529e3c9867dca5d57b027e880f49045b86bd5258d2762dd32d864f68579c7b181f03cd0133e741bc31e728caa6fa4cc945a4eedd6422304b8946bb6d944
|
|
7
|
+
data.tar.gz: d183931042c8d73ac83346790bcf6307d8092a7bfb424fc3729f492a1be414b377d6f8b0e11e97e042e9eea926ee32c785ec9125a83a64ff7c6a70514bcd3f3b
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Activeadmin Settings Cached
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Gem for Rails provides ui interface for rails-settings-cached gem in Active Admin
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -14,18 +14,37 @@ And then execute:
|
|
|
14
14
|
|
|
15
15
|
$ bundle
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Create you settings model:
|
|
18
18
|
|
|
19
|
-
$
|
|
19
|
+
$ rails g settings Settings
|
|
20
|
+
$ bundle exec rake db:migrate
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
Add route in config/routes.rb
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
``` ruby
|
|
25
|
+
ActiveAdmin.routes(self)
|
|
26
|
+
mount ActiveadminSettingsCached::Engine => '/admin'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
And configure you default values in model Settings like this:
|
|
30
|
+
|
|
31
|
+
``` ruby
|
|
32
|
+
class Settings < RailsSettings::CachedSettings
|
|
33
|
+
defaults[:my_awesome_settings] = 'This is my settings'
|
|
34
|
+
end
|
|
35
|
+
```
|
|
24
36
|
|
|
25
|
-
|
|
37
|
+
And in your appication admin avaliable new page with this settings
|
|
38
|
+
|
|
39
|
+
# Localization
|
|
40
|
+
You can localize settings keys in local file
|
|
41
|
+
|
|
42
|
+
``` yml
|
|
43
|
+
en:
|
|
44
|
+
settings:
|
|
45
|
+
attributes:
|
|
46
|
+
my_awesome_settings:
|
|
47
|
+
name: 'My Awesome Lolaized Setting'
|
|
48
|
+
```
|
|
26
49
|
|
|
27
|
-
|
|
28
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
29
|
-
3. Commit your changes (`git commit -am 'Add some feature'`)
|
|
30
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
|
31
|
-
5. Create a new Pull Request
|
|
50
|
+
For how use Settings in you application see documentation fo rails-settings-cached gem https://github.com/huacnlee/rails-settings-cached
|
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
19
|
spec.require_paths = ["lib"]
|
|
20
20
|
|
|
21
|
-
spec.add_dependency 'activeadmin', '1.0.
|
|
21
|
+
spec.add_dependency 'activeadmin', '1.0.0.pre'
|
|
22
22
|
spec.add_dependency 'rails-settings-cached'
|
|
23
23
|
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.7"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
ActiveAdmin.register_page "Settings" do
|
|
2
|
+
title = I18n.t('settings.menu.label')
|
|
3
|
+
|
|
4
|
+
menu label: title, priority: 99
|
|
5
|
+
|
|
6
|
+
content title: title do
|
|
7
|
+
render partial: 'admin/settings/index'
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
controller do
|
|
11
|
+
def settings_list
|
|
12
|
+
settings = ActiveadminSettingsCached.settings_klass
|
|
13
|
+
settings.defaults.merge!(settings.get_all)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module ActiveadminSettingsCached
|
|
2
|
+
class SettingsController < ApplicationController
|
|
3
|
+
def update
|
|
4
|
+
settings = ActiveadminSettingsCached.settings_klass
|
|
5
|
+
|
|
6
|
+
#TODO: this method call save every param
|
|
7
|
+
# save only changed values
|
|
8
|
+
settings_params.each_pair do |name, value|
|
|
9
|
+
settings[name] = value
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
redirect_to :back
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
def settings_params
|
|
18
|
+
settings_keys = ActiveadminSettingsCached.settings_klass.defaults.keys
|
|
19
|
+
|
|
20
|
+
params.require(:settings).permit(settings_keys)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<div>
|
|
2
|
+
<%= semantic_form_for :settings, :method => :put, url: activeadmin_settings_cached.settings_path do |f| %>
|
|
3
|
+
<table id="settings" class="index_table index">
|
|
4
|
+
<thead>
|
|
5
|
+
<tr>
|
|
6
|
+
<th style="width: 30%"><%= t('settings.index.name')%></th>
|
|
7
|
+
<th><%= t('settings.index.value')%></th>
|
|
8
|
+
</tr>
|
|
9
|
+
</thead>
|
|
10
|
+
<tbody>
|
|
11
|
+
<% controller.settings_list.each_pair do |name, value| %>
|
|
12
|
+
<tr class="odd">
|
|
13
|
+
<td><strong><%= t("settings.attributes.#{name}.name") %></strong></td>
|
|
14
|
+
<td>
|
|
15
|
+
<div class='form'>
|
|
16
|
+
<ol><%= f.input name, label: false, input_html: { value: value } %></ol>
|
|
17
|
+
</div>
|
|
18
|
+
</td>
|
|
19
|
+
</tr>
|
|
20
|
+
<% end%>
|
|
21
|
+
</tbody>
|
|
22
|
+
</table>
|
|
23
|
+
<%= f.submit %>
|
|
24
|
+
<% end %>
|
|
25
|
+
</div>
|
data/config/routes.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require 'rails-settings-cached'
|
|
2
|
+
|
|
3
|
+
module ActiveadminSettingsCached
|
|
4
|
+
class Engine < Rails::Engine
|
|
5
|
+
isolate_namespace ActiveadminSettingsCached
|
|
6
|
+
|
|
7
|
+
initializer 'activeadmin_settings_cached.admin' do
|
|
8
|
+
ActiveAdmin.before_load do |app|
|
|
9
|
+
app.load_paths << File.expand_path("../../../app/admin", __FILE__)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activeadmin_settings_cached
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Semyon Pupkov
|
|
@@ -16,54 +16,54 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - '='
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 1.0.
|
|
19
|
+
version: 1.0.0.pre
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - '='
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 1.0.
|
|
26
|
+
version: 1.0.0.pre
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rails-settings-cached
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- -
|
|
31
|
+
- - '>='
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
33
|
version: '0'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- -
|
|
38
|
+
- - '>='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: bundler
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- -
|
|
45
|
+
- - ~>
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
47
|
version: '1.7'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- -
|
|
52
|
+
- - ~>
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '1.7'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rake
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- -
|
|
59
|
+
- - ~>
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
61
|
version: '10.0'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
|
-
- -
|
|
66
|
+
- - ~>
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '10.0'
|
|
69
69
|
description: ''
|
|
@@ -73,13 +73,19 @@ executables: []
|
|
|
73
73
|
extensions: []
|
|
74
74
|
extra_rdoc_files: []
|
|
75
75
|
files:
|
|
76
|
-
-
|
|
76
|
+
- .gitignore
|
|
77
77
|
- Gemfile
|
|
78
78
|
- LICENSE.txt
|
|
79
79
|
- README.md
|
|
80
80
|
- Rakefile
|
|
81
81
|
- activeadmin_settings_cached.gemspec
|
|
82
|
+
- app/admin/settings.rb
|
|
83
|
+
- app/controllers/activeadmin_settings_cached/settings_controller.rb
|
|
84
|
+
- app/views/admin/settings/_index.html.erb
|
|
85
|
+
- config/locales/ru.yml
|
|
86
|
+
- config/routes.rb
|
|
82
87
|
- lib/activeadmin_settings_cached.rb
|
|
88
|
+
- lib/activeadmin_settings_cached/engine.rb
|
|
83
89
|
- lib/activeadmin_settings_cached/version.rb
|
|
84
90
|
homepage: ''
|
|
85
91
|
licenses:
|
|
@@ -91,17 +97,17 @@ require_paths:
|
|
|
91
97
|
- lib
|
|
92
98
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
93
99
|
requirements:
|
|
94
|
-
- -
|
|
100
|
+
- - '>='
|
|
95
101
|
- !ruby/object:Gem::Version
|
|
96
102
|
version: '0'
|
|
97
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
104
|
requirements:
|
|
99
|
-
- -
|
|
105
|
+
- - '>='
|
|
100
106
|
- !ruby/object:Gem::Version
|
|
101
107
|
version: '0'
|
|
102
108
|
requirements: []
|
|
103
109
|
rubyforge_project:
|
|
104
|
-
rubygems_version: 2.
|
|
110
|
+
rubygems_version: 2.0.3
|
|
105
111
|
signing_key:
|
|
106
112
|
specification_version: 4
|
|
107
113
|
summary: UI interface for rails-settings-cached in active admin
|