honey-cms 0.3.7 → 0.3.8
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.
- data/lib/cms/configuration.rb +24 -3
- metadata +1 -1
data/lib/cms/configuration.rb
CHANGED
@@ -2,7 +2,11 @@ module CMS::Configuration
|
|
2
2
|
extend self
|
3
3
|
|
4
4
|
def data
|
5
|
-
@data ||=
|
5
|
+
@data ||= if yaml_string_data.present?
|
6
|
+
YAML.load(yaml_string_data)
|
7
|
+
else
|
8
|
+
default_empty_data
|
9
|
+
end
|
6
10
|
end
|
7
11
|
|
8
12
|
def scoped_types options
|
@@ -16,6 +20,7 @@ module CMS::Configuration
|
|
16
20
|
def types
|
17
21
|
if defined?(@types) then return @types end
|
18
22
|
|
23
|
+
# raise data['content_types'].inspect
|
19
24
|
@types = data['content_types'].map do |name, config|
|
20
25
|
CMS::Type.new(name, config.delete('attributes'), config)
|
21
26
|
end
|
@@ -45,8 +50,24 @@ module CMS::Configuration
|
|
45
50
|
end
|
46
51
|
|
47
52
|
private
|
48
|
-
|
49
|
-
def
|
53
|
+
|
54
|
+
def default_empty_data
|
55
|
+
{
|
56
|
+
'content_types' => [],
|
57
|
+
'pages' => []
|
58
|
+
}
|
59
|
+
end
|
60
|
+
|
61
|
+
def _load_yaml_string_data
|
50
62
|
File.read(Rails.root.join 'config/cms.yml')
|
63
|
+
rescue Errno::ENOENT
|
64
|
+
nil
|
65
|
+
end
|
66
|
+
|
67
|
+
def _memoize_yaml_string_data
|
68
|
+
return @_memoize_yaml_string_data if defined?(@_memoize_yaml_string_data)
|
69
|
+
@_memoize_yaml_string_data = _load_yaml_string_data
|
51
70
|
end
|
71
|
+
|
72
|
+
alias yaml_string_data _memoize_yaml_string_data
|
52
73
|
end
|