dead_simple_cms 0.12.8 → 0.12.9
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 +8 -8
- data/README.md +4 -1
- data/lib/dead_simple_cms/section.rb +6 -1
- data/lib/dead_simple_cms/util/identifier/dictionary.rb +23 -2
- data/lib/dead_simple_cms/version.rb +1 -1
- data/spec/setup/shared.rb +4 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MzUzOGRhMjZmMTk0ZjdhNTBhZWI5MjViNWU0OTAyMmNhNmJiZDU0YQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MGI0MzE2MmExNTJjNjU3OWViYzY3ZThjMmQzZmFiMDg5MTk0YjViMg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NDcxZDcwNTFiYzQ0YTQ0NTc4ZWJmNDViMDFkZWE0Y2U0MTc2ZGVmODVkNjU0
|
10
|
+
ZGM3Y2UyZTE3ODY5MjcyYmRjNjRlMDc2ZTUwMGM3NzFkMTZhMGFiN2MwMWY3
|
11
|
+
YmEyNWQwNWRjNTIzYTkxZDU0MjM4MTRlM2VlZDA0YWRhMjRmNTQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YzExNzNkOWIzNTk1NmQwNjIxMzUxMmE5OWM4OGU3NTIwZWJjZDlmNWE1MmJi
|
14
|
+
NGZhYzAwMGE5YmU3MmM0YmE2NzIxMjVlOGZmMWExMWM0MjA1OTkyZGE4NTZm
|
15
|
+
ZTY3YzhiODhhYzYzZWFiMDMyZjY4NGM4OTcwZjA4YzU5YzZkNTM=
|
data/README.md
CHANGED
@@ -257,6 +257,9 @@ class Mixbook::DeadSimpleCMS::FileUploader < ::DeadSimpleCMS::FileUploader::Base
|
|
257
257
|
end
|
258
258
|
```
|
259
259
|
|
260
|
+
Please note that section blocks are lazy, and only will be executed on the first access to the values,
|
261
|
+
e.g. by `DeadSimpleCMS.sections.site_annoucement`. You can force execution by `DeadSimpleCMS::Section#build_block!`
|
262
|
+
|
260
263
|
Accessing Values
|
261
264
|
-----
|
262
265
|
|
@@ -283,4 +286,4 @@ to us at jobs@mixbook.com.
|
|
283
286
|
Author
|
284
287
|
------
|
285
288
|
|
286
|
-
Aryk Grosz :: aryk.grosz@gmail.com :: @arykg
|
289
|
+
Aryk Grosz :: aryk.grosz@gmail.com :: @arykg
|
@@ -23,9 +23,14 @@ module DeadSimpleCMS
|
|
23
23
|
@path = options[:path]
|
24
24
|
@root_group = Group.root # The root group for the section.
|
25
25
|
@fragments = Array.wrap(options[:fragments])
|
26
|
+
@block = block
|
26
27
|
add_group(@root_group)
|
28
|
+
@is_loaded = false
|
29
|
+
end
|
27
30
|
|
28
|
-
|
31
|
+
def build_block!
|
32
|
+
build(&@block) if @block && !@is_loaded
|
33
|
+
@is_loaded = true
|
29
34
|
end
|
30
35
|
|
31
36
|
# Public: Update the sections with the params and return the updated sections.
|
@@ -46,11 +46,32 @@ module DeadSimpleCMS
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def [](key)
|
49
|
-
super(to_identifier(key))
|
49
|
+
result = super(to_identifier(key))
|
50
|
+
maybe_build_block(result)
|
51
|
+
result
|
52
|
+
end
|
53
|
+
|
54
|
+
def each(&block)
|
55
|
+
super do |k, v|
|
56
|
+
maybe_build_block(v)
|
57
|
+
block[k, v]
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def values
|
62
|
+
results = super
|
63
|
+
results.each do |result|
|
64
|
+
maybe_build_block(result)
|
65
|
+
end
|
66
|
+
results
|
50
67
|
end
|
51
68
|
|
52
69
|
private
|
53
70
|
|
71
|
+
def maybe_build_block(value)
|
72
|
+
value.build_block! if value.respond_to?(:build_block!)
|
73
|
+
end
|
74
|
+
|
54
75
|
# Private: Cast an identifier or other object into an identifier.
|
55
76
|
def to_identifier(identifier)
|
56
77
|
case identifier
|
@@ -62,4 +83,4 @@ module DeadSimpleCMS
|
|
62
83
|
end
|
63
84
|
end
|
64
85
|
end
|
65
|
-
end
|
86
|
+
end
|
data/spec/setup/shared.rb
CHANGED
@@ -3,7 +3,7 @@ shared_context :sample_section do
|
|
3
3
|
let(:section) do
|
4
4
|
# Site announcement is an example of a potential use case. It leverages a lot of the functionality of the
|
5
5
|
# library, hence why we are teting against it.
|
6
|
-
DeadSimpleCMS::Section.new(:site_announcement, :path => "/") do
|
6
|
+
section = DeadSimpleCMS::Section.new(:site_announcement, :path => "/") do
|
7
7
|
boolean :show_default, :default => false
|
8
8
|
string :coupon_code
|
9
9
|
group(:top_bar) do
|
@@ -29,6 +29,8 @@ shared_context :sample_section do
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
32
|
+
section.build_block!
|
33
|
+
section
|
32
34
|
end
|
33
35
|
|
34
36
|
end
|
@@ -61,4 +63,4 @@ shared_examples :group_display do
|
|
61
63
|
end
|
62
64
|
end
|
63
65
|
|
64
|
-
end
|
66
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dead_simple_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aryk Grosz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|