enjoy_cms_pages 0.4.0.beta3 → 0.4.0

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