refinerycms-settings-initializer 0.9 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
@@ -8,12 +8,12 @@ module Refinery
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def load
|
11
|
-
|
12
|
-
|
11
|
+
settings.map do |scope, children|
|
12
|
+
children.map do |name, value|
|
13
13
|
[name, transform_value(value, scope)]
|
14
14
|
end
|
15
|
-
end.flatten(1).each do |
|
16
|
-
RefinerySetting.set(
|
15
|
+
end.flatten(1).each do |name, options|
|
16
|
+
RefinerySetting.set(name, options)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -26,7 +26,6 @@ module Refinery
|
|
26
26
|
def symbolize_keys(value)
|
27
27
|
Hash[value.map{|k, v| [k.to_sym, v]}]
|
28
28
|
end
|
29
|
-
|
30
29
|
end
|
31
30
|
end
|
32
31
|
end
|
data/readme.md
CHANGED
@@ -0,0 +1,73 @@
|
|
1
|
+
# Refinery CMS Settings Initializer
|
2
|
+
|
3
|
+
An initializer for RefinerySettings that updates settings from a configuration
|
4
|
+
file on Rails start. This can be useful to maintain identical configuration
|
5
|
+
across staging and production environments. This gem is probably more useful
|
6
|
+
for existing apps that integrate with Refinery CMS than for apps that are
|
7
|
+
solely Refinery CMS.
|
8
|
+
|
9
|
+
## Warning
|
10
|
+
|
11
|
+
If a setting is managed by the settings initializer, the initializer will
|
12
|
+
overwrite any changes made to the setting from within the Refinery admin
|
13
|
+
console on server restart / re-deploy.
|
14
|
+
|
15
|
+
## Requirements
|
16
|
+
|
17
|
+
Refinery CMS version 1.0.0. This has not been tested with versions greater
|
18
|
+
than that.
|
19
|
+
|
20
|
+
## Install
|
21
|
+
|
22
|
+
Open up your ``Gemfile`` and add at the bottom this line:
|
23
|
+
|
24
|
+
gem 'refinerycms-settings-initialzer', '~> 0.9'
|
25
|
+
|
26
|
+
Now, run ``bundle install``
|
27
|
+
|
28
|
+
Next, to install the initializer and stubbed out configuration file, run this
|
29
|
+
generator:
|
30
|
+
|
31
|
+
bundle exec rails g refinery:settings_initializer
|
32
|
+
|
33
|
+
Finally, update settings in ``config/refinery/settings.yml`` that you wish to
|
34
|
+
maintain.
|
35
|
+
|
36
|
+
## Configuration File
|
37
|
+
|
38
|
+
The settings configuration file lives at ``config/refinery/settings.yml``. The
|
39
|
+
configuration follows this format:
|
40
|
+
|
41
|
+
scoping:
|
42
|
+
setting_name:
|
43
|
+
value: *setting_value*
|
44
|
+
destroyable: *(optional)*
|
45
|
+
... (additional setting options)
|
46
|
+
setting_name_2:
|
47
|
+
value: *setting_2_value*
|
48
|
+
|
49
|
+
unscoped:
|
50
|
+
unscoped_setting_name:
|
51
|
+
value: *unscoped_setting_value*
|
52
|
+
|
53
|
+
At the top level of the configuration file are scopings (e.g., pages, blog,
|
54
|
+
etc.). For settings that do not have a scoping, place them under ``unscoped``.
|
55
|
+
|
56
|
+
## Example Configuration File
|
57
|
+
|
58
|
+
Here is an example configuration file. Note that ``user_image_sizes``'s value
|
59
|
+
pre-fixes the hash keys with a colon in order to create symbols.
|
60
|
+
|
61
|
+
pages:
|
62
|
+
use_marketable_urls:
|
63
|
+
value: false
|
64
|
+
|
65
|
+
unscoped:
|
66
|
+
user_image_sizes:
|
67
|
+
destroyable: false
|
68
|
+
value:
|
69
|
+
:large: "580x580>"
|
70
|
+
:medium: "280x280>"
|
71
|
+
:small: "120x120>"
|
72
|
+
|
73
|
+
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: refinerycms-settings-initializer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 57
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
|
9
|
+
- 1
|
10
|
+
version: 0.9.1
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Kyle Wilkinson
|