editmode 1.1.9 → 1.2.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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c56cee03d73400139003e5a7b643e5ba0cc87827dd8373f973e4e5bbbf41e234
|
4
|
+
data.tar.gz: 5cc247b0737cf3a34a7b7507895ff5b6b67d14363bd4ef328ab0630155ac8cd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 909f2860b00987679e572d4c7c3202fe208fc7cc99ae75df7b698e5371b97f90861f65598193a0882fd924ec653978c0547d57bdc66ec2ad76651b6d1358aff1
|
7
|
+
data.tar.gz: 6ccc29e44f1cd14ad281c182a78904f74a199b1b9fc22fe5cf7757753b24b3ac5eeb9a0db2098e34662b0e1448a49831e9bc99db7f78ff931485ae64cded024b
|
data/README.md
CHANGED
@@ -47,6 +47,7 @@ Editmode provides helper methods for use in your rails views and controllers.
|
|
47
47
|
```erb
|
48
48
|
<%= E('cnk_x4ts............') %> # Using a chunk identifier
|
49
49
|
<%= E('marketing_page_headline') %> # Using a content key
|
50
|
+
<%= E('cnk_x4ts...', class: "a-css-class") %> # Render a chunk with inline css class
|
50
51
|
```
|
51
52
|
|
52
53
|
### Content can also be accessed in Controllers
|
@@ -79,15 +80,13 @@ e("cnk_16e04a02d577afb610ce", "Email Content", variables: variable_values)
|
|
79
80
|
|
80
81
|
### Use collections for repeatable content
|
81
82
|
```erb
|
82
|
-
<%= c('col_j8fbs...') do
|
83
|
-
<
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
</p>
|
90
|
-
</div>
|
83
|
+
<%= c('col_j8fbs...', class: "profiles-container", item_class: "profile-item") do %>
|
84
|
+
<h3 class="name">
|
85
|
+
<%= F("Name", class: "profile-name") %>
|
86
|
+
</h3>
|
87
|
+
<p class="description">
|
88
|
+
<%= f("Description"), class: "profile-description" %>
|
89
|
+
</p>
|
91
90
|
<% end %>
|
92
91
|
```
|
93
92
|
|
@@ -13,8 +13,7 @@ class EditmodeController < ApplicationController
|
|
13
13
|
Rails.cache.delete("chunk_#{project_id}_variables")
|
14
14
|
render status: 200, json: {:response => "success"}
|
15
15
|
elsif params[:identifier]
|
16
|
-
Rails.cache.
|
17
|
-
Rails.cache.delete("chunk_#{params[:identifier]}_type")
|
16
|
+
Rails.cache.delete_matched("#{params[:identifier]}")
|
18
17
|
render status: 200, json: {:response => "success"}
|
19
18
|
else
|
20
19
|
render status: 404, json: {:response => "no identifier specified"}
|
@@ -113,6 +113,7 @@ module Editmode
|
|
113
113
|
chunk_content = variable_parse!(chunk_content, options[:variable_fallbacks], options[:variable_values])
|
114
114
|
|
115
115
|
css_class = options[:class]
|
116
|
+
cache_id = options[:cache_identifier]
|
116
117
|
|
117
118
|
if chunk_type == "image"
|
118
119
|
display_type = "image"
|
@@ -124,6 +125,7 @@ module Editmode
|
|
124
125
|
|
125
126
|
chunk_data.merge!({parent_identifier: options[:parent_identifier]}) if options[:parent_identifier].present?
|
126
127
|
chunk_data.merge!({custom_field_identifier: options[:custom_field_identifier]}) if options[:custom_field_identifier].present?
|
128
|
+
chunk_data.merge!({chunk_cache_id: cache_id}) if cache_id.present?
|
127
129
|
|
128
130
|
case display_type
|
129
131
|
when "span"
|
@@ -159,7 +161,8 @@ module Editmode
|
|
159
161
|
cache_identifier = "chunk_#{identifier}#{branch_id}#{field}"
|
160
162
|
url = "#{api_root_url}/chunks/#{identifier}?project_id=#{Editmode.project_id}&#{branch_params}"
|
161
163
|
cached_content_present = Rails.cache.exist?(cache_identifier)
|
162
|
-
|
164
|
+
parent_identifier = identifier if field.present?
|
165
|
+
|
163
166
|
if !cached_content_present
|
164
167
|
response = HTTParty.get(url)
|
165
168
|
response_received = true if response.code == 200
|
@@ -173,7 +176,9 @@ module Editmode
|
|
173
176
|
if field_content
|
174
177
|
content = field_content["content"]
|
175
178
|
type = field_content["chunk_type"]
|
176
|
-
identifier =
|
179
|
+
identifier = Rails.cache.fetch("#{cache_identifier}_field_identifier") do
|
180
|
+
field_content["identifier"]
|
181
|
+
end
|
177
182
|
end
|
178
183
|
end
|
179
184
|
|
@@ -189,11 +194,16 @@ module Editmode
|
|
189
194
|
type.presence || response['chunk_type']
|
190
195
|
end
|
191
196
|
|
197
|
+
identifier = Rails.cache.fetch("#{cache_identifier}_field_identifier") do
|
198
|
+
identifier
|
199
|
+
end
|
200
|
+
|
192
201
|
options[:variable_fallbacks] = variable_fallbacks
|
193
202
|
options[:variable_values] = options[:variables].presence || {}
|
194
203
|
|
204
|
+
options[:cache_identifier] = parent_identifier.presence || identifier
|
205
|
+
|
195
206
|
render_chunk_content(identifier,chunk_content,chunk_type, options)
|
196
|
-
|
197
207
|
end
|
198
208
|
|
199
209
|
rescue => error
|
data/lib/editmode/chunk_value.rb
CHANGED
@@ -15,7 +15,7 @@ module Editmode
|
|
15
15
|
get_content
|
16
16
|
end
|
17
17
|
|
18
|
-
def field(field = nil)
|
18
|
+
def field(field = nil)
|
19
19
|
# Field ID can be a slug or field_name
|
20
20
|
if chunk_type == 'collection_item'
|
21
21
|
if field.present?
|
@@ -75,7 +75,7 @@ module Editmode
|
|
75
75
|
@content = response['content']
|
76
76
|
@chunk_type = response['chunk_type']
|
77
77
|
@project_id = response['project_id']
|
78
|
-
@variable_fallbacks = response['variable_fallbacks']
|
78
|
+
@variable_fallbacks = response['variable_fallbacks'].presence || {}
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
data/lib/editmode/helper.rb
CHANGED
data/lib/editmode/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: editmode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tony Ennis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10-
|
11
|
+
date: 2020-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|