honey-cms 0.3.7 → 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
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: