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.
Files changed (2) hide show
  1. data/lib/cms/configuration.rb +24 -3
  2. metadata +1 -1
@@ -2,7 +2,11 @@ module CMS::Configuration
2
2
  extend self
3
3
 
4
4
  def data
5
- @data ||= YAML.load(load_yaml_string_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 load_yaml_string_data
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honey-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: