enjoy_cms_pages 0.4.0.beta3 → 0.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c30ae742f626fdcc649fc07499b27d09f201bada
4
- data.tar.gz: ff2cbc54810ff1ad186158ae2a5e2c1675e9cfff
3
+ metadata.gz: fe01ec663658abf68e20b4f8b69e0e380e1a4709
4
+ data.tar.gz: 738f1cbfc8942ae093c2b76fe4eb3f16a213d089
5
5
  SHA512:
6
- metadata.gz: 99a0a69bb49147c94899f0a3a262a6d81ca656e0a9fd7ca50f02d959d351cf7622dc452817cab6bb367f0f29a3174e7b9f73b42206f7b2efd7e79f1826bbebfc
7
- data.tar.gz: 6962d982df0dacadbb4cdfbb01e182ca41727e853bded0f4a49d43c9363b0154f38f82e27a4727ee945d63bfd66aa5215b846e2c25303b3b68cb99a4617a759e
6
+ metadata.gz: 6f80df982eeaf1a1058dfaae73fecaa26c4f336c99c92d38d7182ed4eab2857551326f024c033d59c0c6b3bd3efa1aec6eefe031c41a388f16a2a803830824a4
7
+ data.tar.gz: d8b6a6c4c93f33da3bf1c30267e1fa8e0f81bcc009926843d048463c84b410d35fbf1208594e6ace838aa727b3b96a9c844f4c3893c88b9ceb33854f8607f40d
@@ -32,9 +32,15 @@ module Enjoy::Pages::Blocksetable
32
32
  def render_blockset(view, type)
33
33
  ret = []
34
34
  begin
35
- blocks = blockset_get_blocks(type)
35
+ blockset = get_blockset(type)
36
+ blocks = blockset_get_blocks_for_render(blockset)
36
37
  blocks.each do |block|
37
- ret << block.render_or_content_html(view)
38
+ ret << block.render_or_content_html(view) do |html|
39
+ after_render_blockset_block block, html
40
+ end
41
+ end
42
+ ret = blockset.render(view, ret.join.html_safe) do |html|
43
+ after_render_blockset blockset, html
38
44
  end
39
45
  rescue Exception => exception
40
46
  Rails.logger.error exception.message
@@ -44,14 +50,31 @@ module Enjoy::Pages::Blocksetable
44
50
  capture_exception(exception) if respond_to?(:capture_exception)
45
51
  # ret << blocks || []
46
52
  end
47
- ret.join.html_safe
53
+ ret.is_a?(Array) ? ret.join.html_safe : ret
54
+ end
55
+
56
+ def after_render_blockset_block(block, html)
57
+ html
58
+ end
59
+
60
+ def after_render_blockset(blockset, html)
61
+ html
62
+ end
63
+
64
+ def get_blockset(type)
65
+ type.is_a?(Enjoy::Pages::Blockset) ? type : blockset_class.find(type.to_s)
48
66
  end
49
67
 
50
68
  def blockset_get_blocks(type)
51
- blockset = blockset_class.find(type.to_s)
69
+ blockset = get_blockset type
52
70
  blockset.blocks.enabled.show_in_menu.sorted.to_a if blockset
53
71
  end
54
72
 
73
+ def blockset_get_blocks_for_render(type)
74
+ blockset = get_blockset type
75
+ blockset.blocks.enabled.sorted.to_a if blockset
76
+ end
77
+
55
78
  def blockset_class_name
56
79
  "Enjoy::Pages::Blockset"
57
80
  end
@@ -22,7 +22,7 @@ module Enjoy::Pages::Connectable
22
22
  _name_attr = Enjoy::Pages.config.localize ? "name_translations" : "name"
23
23
  class_eval <<-EVAL
24
24
  after_create do
25
- if self.enjoy_connectable_autocreate_page
25
+ if [true, 1, "1", "true", "t"].include?(self.enjoy_connectable_autocreate_page)
26
26
  _p = #{class_name}.new
27
27
  _p.#{_name_attr} = self.#{_name_attr}
28
28
  _p.connectable = self
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "bundler", "~> 1.10"
31
31
  spec.add_development_dependency "rake", "~> 10.0"
32
32
 
33
- spec.add_dependency 'enjoy_cms', "~> 0.4.0.beta3"
33
+ spec.add_dependency 'enjoy_cms', "~> 0.4.0"
34
34
 
35
35
  spec.add_dependency 'simple-navigation'
36
36
  end
@@ -37,6 +37,11 @@ module Enjoy::Pages
37
37
  field :wrapper_tag, :string
38
38
  field :wrapper_class, :string
39
39
  field :wrapper_id, :string
40
+ field :wrapper_attributes, :text do
41
+ formatted_value do
42
+ bindings[:object] and bindings[:object].wrapper_attributes ? bindings[:object].wrapper_attributes.to_json : "{}"
43
+ end
44
+ end
40
45
  end
41
46
 
42
47
  # field :content_html, :ck_editor
@@ -15,6 +15,19 @@ module Enjoy::Pages
15
15
  searchable true
16
16
  end
17
17
 
18
+ group :wrapper do
19
+ active false
20
+ field :use_wrapper, :toggle
21
+ field :wrapper_tag, :string
22
+ field :wrapper_class, :string
23
+ field :wrapper_id, :string
24
+ field :wrapper_attributes, :text do
25
+ formatted_value do
26
+ bindings[:object] and bindings[:object].wrapper_attributes ? bindings[:object].wrapper_attributes.to_json : "{}"
27
+ end
28
+ end
29
+ end
30
+
18
31
  group :blocks do
19
32
  active false
20
33
  field :blocks do
@@ -8,6 +8,7 @@ module Enjoy::Pages
8
8
  @seo_page = model.enabled.find(params[:id] || params[:slug])
9
9
  end
10
10
  end
11
+ after_initialize
11
12
  if @seo_page.nil?
12
13
  render_404
13
14
  return true
@@ -18,9 +19,13 @@ module Enjoy::Pages
18
19
  end
19
20
  end
20
21
 
22
+ private
21
23
  def model
22
24
  Enjoy::Pages::Page
23
25
  end
26
+
27
+ def after_initialize
28
+ end
24
29
  end
25
30
  end
26
31
  end
@@ -39,7 +39,13 @@ module Enjoy::Pages
39
39
  else
40
40
  ret = self.content_html.html_safe
41
41
  end
42
- ret = content_tag wrapper_tag, ret, class: wrapper_class, id: wrapper_id if use_wrapper
42
+ if use_wrapper
43
+ _attrs = {
44
+ class: wrapper_class,
45
+ id: wrapper_id
46
+ }.merge(wrapper_attributes)
47
+ ret = view.content_tag wrapper_tag, ret, _attrs
48
+ end
43
49
  ret = yield ret if block_given?
44
50
  return ret
45
51
  end
@@ -67,7 +73,7 @@ module Enjoy::Pages
67
73
  end
68
74
 
69
75
  def nav_options
70
- nav_options_default.merge(nav_options_additions)
76
+ nav_options_default.deep_merge(nav_options_additions)
71
77
  end
72
78
 
73
79
  def nav_options_default
@@ -75,7 +81,8 @@ module Enjoy::Pages
75
81
  highlights_on: false,
76
82
  link_html: {
77
83
  data: {
78
- pageblock_selector: self.pageblock_selector
84
+ pageblock_selector: self.pageblock_selector,
85
+ history_name: self.name
79
86
  }
80
87
  }
81
88
  }
@@ -84,6 +91,23 @@ module Enjoy::Pages
84
91
  def nav_options_additions
85
92
  {}
86
93
  end
94
+
95
+ def wrapper_attributes=(val)
96
+ if val.is_a? (String)
97
+ begin
98
+ begin
99
+ self[:wrapper_attributes] = JSON.parse(val)
100
+ rescue
101
+ self[:wrapper_attributes] = YAML.load(val)
102
+ end
103
+ rescue
104
+ end
105
+ elsif val.is_a?(Hash)
106
+ self[:wrapper_attributes] = val
107
+ else
108
+ self[:wrapper_attributes] = wrapper_attributes
109
+ end
110
+ end
87
111
  end
88
112
  end
89
113
  end
@@ -12,6 +12,38 @@ module Enjoy::Pages
12
12
  manual_slug :name
13
13
  end
14
14
 
15
+
16
+ def render(view, content = "")
17
+ ret = content
18
+ if use_wrapper
19
+ _attrs = {
20
+ class: wrapper_class,
21
+ id: wrapper_id
22
+ }.merge(wrapper_attributes)
23
+ ret = view.content_tag wrapper_tag, ret, _attrs
24
+ end
25
+ ret = yield ret if block_given?
26
+ return ret
27
+ end
28
+
29
+ # def wrapper_attributes=(val)
30
+ # if val.is_a? (String)
31
+ # begin
32
+ # begin
33
+ # self[:wrapper_attributes] = JSON.parse(val)
34
+ # rescue
35
+ # self[:wrapper_attributes] = YAML.load(val)
36
+ # end
37
+ # rescue
38
+ # end
39
+ # elsif val.is_a?(Hash)
40
+ # self[:wrapper_attributes] = val
41
+ # else
42
+ # self[:wrapper_attributes] = wrapper_attributes
43
+ # end
44
+ # end
45
+
46
+
15
47
  end
16
48
  end
17
49
  end
@@ -20,6 +20,7 @@ module Enjoy::Pages
20
20
  field :wrapper_tag, type: String, default: ""
21
21
  field :wrapper_class, type: String, default: ""
22
22
  field :wrapper_id, type: String, default: ""
23
+ field :wrapper_attributes, type: Hash, default: {}
23
24
 
24
25
  field :menu_link_content, type: String
25
26
  field :show_in_menu, type: Boolean, default: true
@@ -9,6 +9,12 @@ module Enjoy::Pages
9
9
 
10
10
  embeds_many :blocks, inverse_of: :blockset, class_name: "Enjoy::Pages::Block"
11
11
  accepts_nested_attributes_for :blocks, allow_destroy: true
12
+
13
+ field :use_wrapper, type: Boolean, default: false
14
+ field :wrapper_tag, type: String, default: ""
15
+ field :wrapper_class, type: String, default: ""
16
+ field :wrapper_id, type: String, default: ""
17
+ field :wrapper_attributes, type: Hash, default: {}
12
18
  end
13
19
  end
14
20
  end
@@ -1,5 +1,5 @@
1
1
  module Enjoy
2
2
  module Pages
3
- VERSION = "0.4.0.beta3"
3
+ VERSION = "0.4.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enjoy_cms_pages
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.beta3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kiseliev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-04 00:00:00.000000000 Z
11
+ date: 2016-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.4.0.beta3
47
+ version: 0.4.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.4.0.beta3
54
+ version: 0.4.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: simple-navigation
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -152,9 +152,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
152
  version: '0'
153
153
  required_rubygems_version: !ruby/object:Gem::Requirement
154
154
  requirements:
155
- - - ">"
155
+ - - ">="
156
156
  - !ruby/object:Gem::Version
157
- version: 1.3.1
157
+ version: '0'
158
158
  requirements: []
159
159
  rubyforge_project:
160
160
  rubygems_version: 2.5.1