imagine_cms 5.2.0 → 5.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Dockerfile +16 -42
- data/README.md +28 -11
- data/app/assets/javascripts/dojo/dojo.js +1 -1
- data/app/assets/javascripts/dojo/src/widget/templates/richtextframe.html +3 -0
- data/app/assets/javascripts/imagine_cms/core.js +31 -40
- data/app/assets/stylesheets/imagine_cms.css.scss +15 -7
- data/app/assets/stylesheets/imagine_controls.css.scss +45 -2
- data/app/controllers/cms/content_controller.rb +2 -2
- data/app/controllers/manage/cms_pages_controller.rb +34 -25
- data/app/helpers/cms_application_helper.rb +27 -27
- data/app/helpers/cms_custom_helper.rb +13 -0
- data/app/mailers/imagine_cms_mailer.rb +1 -1
- data/app/views/imagine_cms/_dialogs.html.erb +3 -3
- data/app/views/imagine_cms/_header.html.erb +8 -8
- data/app/views/imagine_cms_mailer/request_review.text.erb +0 -2
- data/app/views/layouts/management.html.erb +5 -4
- data/app/views/manage/cms_pages/_create_file_link.html.erb +16 -3
- data/app/views/manage/cms_pages/_crop_feature_image.html.erb +1 -1
- data/app/views/manage/cms_pages/_crop_image.html.erb +31 -29
- data/app/views/manage/cms_pages/_crop_thumb.html.erb +1 -1
- data/app/views/manage/cms_pages/_edit_page.html.erb +18 -4
- data/app/views/manage/cms_pages/_list_page.html.erb +28 -7
- data/app/views/manage/cms_pages/_list_page_select.html.erb +17 -7
- data/app/views/manage/cms_pages/_list_pages.html.erb +1 -1
- data/app/views/manage/cms_pages/_list_pages_select.html.erb +1 -1
- data/app/views/manage/cms_pages/_page_list.html.erb +5 -5
- data/app/views/manage/cms_pages/_page_list_source_tag.html.erb +6 -2
- data/app/views/manage/cms_pages/_upload_feature_image.html.erb +51 -11
- data/app/views/manage/cms_pages/_upload_file.html.erb +2 -2
- data/app/views/manage/cms_pages/_upload_image.html.erb +95 -23
- data/app/views/manage/cms_pages/_upload_thumb.html.erb +51 -11
- data/app/views/manage/cms_pages/gallery_management.html.erb +1 -1
- data/app/views/manage/cms_pages/index.html.erb +36 -35
- data/app/views/manage/cms_pages/select_page.html.erb +39 -39
- data/app/views/manage/cms_pages/toolbar_preview.html.erb +1 -1
- data/app/views/management/users/index.html.erb +1 -1
- data/docker-compose.override.yml.example +6 -19
- data/docker-compose.yml +5 -7
- data/docker/conf/{nginx-vhost.conf → nginx-vhost.conf.template} +3 -3
- data/docker/services/{memcached.sh → memcached} +0 -0
- data/docker/services/{sidekiq.sh → sidekiq} +0 -0
- data/docker/services/{webpack.sh → webpack} +0 -0
- data/lib/extensions/action_controller_extensions.rb +18 -17
- data/lib/imagine_cms/engine.rb +1 -0
- data/lib/imagine_cms/version.rb +1 -1
- data/lib/upload_progress/lib/multipart_progress.rb +1 -1
- metadata +11 -11
@@ -95,7 +95,7 @@
|
|
95
95
|
<td></td>
|
96
96
|
<td>
|
97
97
|
<div id="upload_status_div" class="error"><%= upload_status_tag %></div>
|
98
|
-
<%= submit_tag 'Next', :
|
98
|
+
<%= submit_tag 'Next', class: 'form_button', style: 'width: 70px;', data: { disable_with: 'Uploading...' } %>
|
99
99
|
</td>
|
100
100
|
</tr>
|
101
101
|
</table>
|
@@ -1,36 +1,33 @@
|
|
1
|
-
|
1
|
+
<%-
|
2
2
|
cbNumColumns = 0;
|
3
|
-
cbColWidth =
|
4
|
-
cbColHeight =
|
5
|
-
cbBorderWidth = 1;
|
6
|
-
cbColWidthFull = 172;
|
3
|
+
cbColWidth = 200;
|
4
|
+
cbColHeight = 400;
|
7
5
|
-%>
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
6
|
+
<script type="text/javascript">
|
7
|
+
window.cbColWidth = <%= cbColWidth %>;
|
8
|
+
window.cbColHeight = <%= cbColHeight %>;
|
9
|
+
</script>
|
10
|
+
<style type="text/css">
|
11
|
+
.cb_column {
|
12
|
+
width: <%= cbColWidth %>px;
|
13
|
+
height: <%= cbColHeight %>px;
|
14
|
+
}
|
15
|
+
</style>
|
18
16
|
|
19
17
|
<h2>CMS » Pages</h2>
|
20
18
|
|
21
19
|
<%= flash_message %>
|
22
20
|
|
23
|
-
<div id="columnBrowserToolbar"
|
24
|
-
<%= link_to image_tag('management/btn-top-new.png'
|
25
|
-
<%= link_to image_tag('management/btn-top-edit.png'
|
26
|
-
<%= link_to image_tag('management/btn-top-properties.png'
|
27
|
-
<%= link_to image_tag('management/btn-top-preview.png'
|
28
|
-
<%= link_to image_tag('management/btn-top-delete.png'
|
29
|
-
<div class="clearer"></div>
|
21
|
+
<div id="columnBrowserToolbar">
|
22
|
+
<%= link_to image_tag('management/btn-top-new.png'), '#', id: 'new_link' %>
|
23
|
+
<%= link_to image_tag('management/btn-top-edit.png'), '#', id: 'edit_content_link' %>
|
24
|
+
<%= link_to image_tag('management/btn-top-properties.png'), '#', id: 'edit_link' %>
|
25
|
+
<%= link_to image_tag('management/btn-top-preview.png'), '#', id: 'view_link', target: '_blank' %>
|
26
|
+
<%= link_to image_tag('management/btn-top-delete.png'), '#', id: 'delete_link', method: :post, data: { confirm: 'Are you sure you want to delete the selected page?' } %>
|
30
27
|
</div>
|
31
28
|
|
32
|
-
<div id="columnBrowserContainer" style="
|
33
|
-
<div id="columnBrowser" style="width: <%=
|
29
|
+
<div id="columnBrowserContainer" style="height: <%= cbColHeight + 2 %>px;">
|
30
|
+
<div id="columnBrowser" style="width: <%= (cbColWidth+1) * @page_levels.size %>px;">
|
34
31
|
<%- @page_levels.each_with_index do |name, i| -%>
|
35
32
|
<%-
|
36
33
|
if name.present?
|
@@ -41,21 +38,21 @@ EOF
|
|
41
38
|
@page = CmsPage.find_by_path @path
|
42
39
|
@page_level = i
|
43
40
|
@pages = @parent.children if @parent
|
44
|
-
|
41
|
+
|
45
42
|
break_flag = false
|
46
|
-
|
43
|
+
|
47
44
|
if !@page
|
48
45
|
@page = @parent.children.first || @parent || CmsPage.first
|
49
46
|
break_flag = true
|
50
47
|
end
|
51
48
|
-%>
|
52
|
-
<div id="columnBrowserLevel<%= i %>"
|
49
|
+
<div id="columnBrowserLevel<%= i %>" class="cb_column">
|
53
50
|
<%- if i == 0 -%>
|
54
51
|
<%= render partial: 'list_page', locals: { list_page: CmsPage.first } %>
|
55
52
|
<%- else -%>
|
56
53
|
<%= render partial: 'list_pages' %>
|
57
54
|
<%- end -%>
|
58
|
-
<%= javascript_tag "jQuery('#cb_item_#{@parent.id}').addClass('cb_item_selected');" if @parent %>
|
55
|
+
<%= javascript_tag "jQuery('#cb_item_#{@parent.id}').addClass('cb_item_selected')[0].scrollIntoView();" if @parent %>
|
59
56
|
</div>
|
60
57
|
<%- break if break_flag -%>
|
61
58
|
<%- end -%>
|
@@ -65,13 +62,17 @@ EOF
|
|
65
62
|
<%- list_page = @page -%>
|
66
63
|
|
67
64
|
<script type="text/javascript">
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
65
|
+
cbNumColumns = <%= @page_levels.size - 1 %>;
|
66
|
+
jQuery('#columnBrowserLevel' + cbNumColumns)[0].scrollIntoView();
|
67
|
+
jQuery('#view_link').prop('href', '<%= list_page.path.blank? ? '' : '/' + list_page.path %>/version/<%= list_page.published_version > 0 ? list_page.published_version : list_page.version %>');
|
68
|
+
jQuery('#new_link').on('click', () => { editProperties('<%=raw url_for(action: 'new', mode: 'ajax_new', parent_id: list_page, authenticity_token: form_authenticity_token.to_s) %>', 'Create New Page under /<%= list_page.path %>'); return false; });
|
69
|
+
jQuery('#edit_link').on('click', () => { editProperties('<%=raw url_for action: 'edit_page', id: list_page, mode: 'ajax_edit', authenticity_token: form_authenticity_token.to_s %>', 'Page Properties: <%= list_page.name %>'); return false; });
|
70
|
+
jQuery('#edit_content_link').prop('href', '<%=raw url_for action: 'edit_page_content', id: list_page, authenticity_token: form_authenticity_token.to_s %>');
|
71
|
+
jQuery('#delete_link').prop('href', '<%=raw url_for action: 'delete_page', id: list_page.id %>');
|
72
|
+
</script>
|
73
|
+
<script type="text/javascript" defer>
|
74
|
+
dojo.require("dojo.widget.*");
|
75
|
+
dojo.require("dojo.widget.Dialog");
|
75
76
|
</script>
|
76
77
|
|
77
78
|
<%= render '/imagine_cms/dialogs' %>
|
@@ -1,57 +1,57 @@
|
|
1
|
-
|
1
|
+
<%-
|
2
2
|
cbNumColumns = 0;
|
3
|
-
cbColWidth =
|
4
|
-
cbColHeight =
|
5
|
-
cbBorderWidth = 1;
|
6
|
-
cbColWidthFull = 172;
|
3
|
+
cbColWidth = 200;
|
4
|
+
cbColHeight = 343;
|
7
5
|
-%>
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
6
|
+
<script type="text/javascript">
|
7
|
+
window.cbColWidth = <%= cbColWidth %>;
|
8
|
+
window.cbColHeight = <%= cbColHeight %>;
|
9
|
+
</script>
|
10
|
+
<style type="text/css">
|
11
|
+
.cb_column {
|
12
|
+
width: <%= cbColWidth %>px;
|
13
|
+
height: <%= cbColHeight %>px;
|
14
|
+
}
|
15
|
+
</style>
|
18
16
|
|
19
|
-
<div id="columnBrowserContainer" style="
|
20
|
-
<div id="columnBrowser" style="width: <%=
|
21
|
-
|
22
|
-
|
23
|
-
if
|
24
|
-
@path << '/' if
|
17
|
+
<div id="columnBrowserContainer" style="height: <%= cbColHeight + 2 %>px;">
|
18
|
+
<div id="columnBrowser" style="width: <%= (cbColWidth+1) * @page_levels.size %>px;">
|
19
|
+
<%- @page_levels.each_with_index do |name, i| -%>
|
20
|
+
<%-
|
21
|
+
if name.present?
|
22
|
+
@path << '/' if @path.present?
|
25
23
|
@path << name
|
26
24
|
end
|
27
25
|
@parent = @page
|
28
26
|
@page = CmsPage.find_by_path @path
|
29
27
|
@page_level = i
|
30
28
|
@pages = @parent.children if @parent
|
31
|
-
|
29
|
+
|
32
30
|
break_flag = false
|
33
|
-
|
31
|
+
|
34
32
|
if !@page
|
35
|
-
|
36
|
-
@page = @parent.children.first
|
37
|
-
elsif @parent
|
38
|
-
@page = @parent
|
39
|
-
else
|
40
|
-
@page = CmsPage.find(:first)
|
41
|
-
end
|
33
|
+
@page = @parent.children.first || @parent || CmsPage.first
|
42
34
|
break_flag = true
|
43
35
|
end
|
44
36
|
-%>
|
45
|
-
<div id="columnBrowserLevel<%= i %>"
|
46
|
-
|
47
|
-
<%= render :
|
48
|
-
|
49
|
-
<%= render :
|
50
|
-
|
51
|
-
<%= javascript_tag "
|
37
|
+
<div id="columnBrowserLevel<%= i %>" class="cb_column">
|
38
|
+
<%- if i == 0 -%>
|
39
|
+
<%= render partial: 'list_page_select', locals: { list_page_select: CmsPage.first } %>
|
40
|
+
<%- else -%>
|
41
|
+
<%= render partial: 'list_pages_select' %>
|
42
|
+
<%- end -%>
|
43
|
+
<%= javascript_tag "jQuery('#cb_item_#{@parent.id}').addClass('cb_item_selected')[0].scrollIntoView();" if @parent %>
|
52
44
|
</div>
|
53
45
|
<%- break if break_flag -%>
|
54
|
-
|
46
|
+
<%- end -%>
|
55
47
|
</div>
|
56
48
|
</div>
|
57
|
-
|
49
|
+
|
50
|
+
<%- list_page = @page -%>
|
51
|
+
|
52
|
+
<script type="text/javascript">
|
53
|
+
cbNumColumns = <%= @page_levels.size - 1 %>;
|
54
|
+
jQuery('#columnBrowserLevel' + cbNumColumns)[0].scrollIntoView();
|
55
|
+
|
56
|
+
jQuery('#page_browser_selection').val('/<%= @page.path %>');
|
57
|
+
</script>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="ccs-toolbar EditorToolbarDomNode EditorToolbarSmallBg" style="height: 25px;">
|
1
|
+
<div class="ccs-toolbar EditorToolbarDomNode EditorToolbarSmallBg" style="height: 25px; min-width: 900px;">
|
2
2
|
<table cellpadding="1" cellspacing="0" border="0">
|
3
3
|
<tbody>
|
4
4
|
<tr valign="top" align="left">
|
@@ -20,7 +20,7 @@
|
|
20
20
|
<td><%= u.last_name %></td>
|
21
21
|
<td><%= u.active? ? 'Y' : 'N' %>
|
22
22
|
<td><%= button_to(u.active? ? 'Disable' : 'Enable', { :action => (u.active? ? 'disable' : 'enable'), :id => u}, :class => 'form_button') if u.username != session[:user_username] %></td>
|
23
|
-
<td><%= button_to('Delete', { :
|
23
|
+
<td><%= button_to('Delete', { action: 'destroy', id: u }, method: :delete, class: 'form_button', data: { confirm: "Are you sure you want to delete #{u.username}?" }) if u.username != session[:user_username] %></td>
|
24
24
|
</tr>
|
25
25
|
<% end %>
|
26
26
|
</table>
|
@@ -11,33 +11,20 @@ services:
|
|
11
11
|
volumes:
|
12
12
|
- ../mysite:/home/app/myapp:delegated # set to (relative) path to site you want to run
|
13
13
|
# - .:/home/app/imagine_cms:delegated # when working on imagine itself
|
14
|
-
|
15
|
-
-
|
16
|
-
-
|
17
|
-
- rvm:/usr/local/rvm
|
14
|
+
- /home/app/myapp/log
|
15
|
+
- /home/app/myapp/tmp
|
16
|
+
- gems:/usr/local/rvm/gems
|
18
17
|
- ~/.gitconfig:/home/app/.gitconfig # if you want to commit from within the container
|
19
18
|
# environment:
|
20
19
|
# PASSENGER_APP_ENV: production
|
21
|
-
# networks: # to use traefik, uncomment this along with the networks section at the bottom
|
22
|
-
# - traefik
|
23
|
-
# - default
|
24
|
-
# labels:
|
25
|
-
# traefik.docker.network: traefik
|
26
20
|
|
27
21
|
db:
|
28
22
|
ports: # access using mysql -P (not -p), ex: mysql -h 127.0.0.1 -P 33060 -u root
|
29
23
|
# - '33060:3306' # <---- change the first number to set your local port
|
30
24
|
- '3306' # <---- or omit the first number entirely to use a random local port (use `docker ps`)
|
31
25
|
volumes:
|
32
|
-
-
|
26
|
+
- /var/lib/mysql
|
33
27
|
|
34
28
|
volumes:
|
35
|
-
|
36
|
-
|
37
|
-
node_modules:
|
38
|
-
tmp:
|
39
|
-
rvm:
|
40
|
-
|
41
|
-
# networks:
|
42
|
-
# traefik:
|
43
|
-
# external: true
|
29
|
+
gems:
|
30
|
+
external: true
|
data/docker-compose.yml
CHANGED
@@ -3,19 +3,17 @@ version: '3'
|
|
3
3
|
services:
|
4
4
|
web: # (passenger + sidekiq)
|
5
5
|
build: .
|
6
|
-
volumes:
|
7
|
-
- ./docker/conf/nginx-vhost.conf:/etc/nginx/sites-enabled/webapp.conf:delegated
|
8
6
|
environment:
|
9
7
|
PASSENGER_APP_ENV: development
|
10
|
-
MYSQL_HOST: db
|
11
|
-
REDIS_URL: redis://redis:6379/1
|
12
|
-
|
8
|
+
MYSQL_HOST: db
|
9
|
+
REDIS_URL: redis://redis:6379/1
|
10
|
+
|
13
11
|
db:
|
14
|
-
image: mariadb:10.
|
12
|
+
image: mariadb:10.4
|
15
13
|
volumes:
|
16
14
|
- ./docker/conf/my.local.cnf:/etc/mysql/conf.d/my.local.cnf
|
17
15
|
environment:
|
18
16
|
MYSQL_ALLOW_EMPTY_PASSWORD: 1
|
19
17
|
|
20
18
|
# redis:
|
21
|
-
# image: redis:
|
19
|
+
# image: redis:5.0-32bit # not really 32-bit, just compiled that way to reduce memory usage
|
@@ -6,9 +6,9 @@ server {
|
|
6
6
|
passenger_enabled on;
|
7
7
|
passenger_user app;
|
8
8
|
|
9
|
-
passenger_ruby /usr/bin/ruby2.
|
10
|
-
passenger_env_var MYSQL_HOST
|
11
|
-
passenger_env_var REDIS_URL
|
9
|
+
passenger_ruby /usr/bin/ruby2.6;
|
10
|
+
passenger_env_var MYSQL_HOST '$MYSQL_HOST';
|
11
|
+
passenger_env_var REDIS_URL '$REDIS_URL';
|
12
12
|
|
13
13
|
client_max_body_size 100M;
|
14
14
|
}
|
File without changes
|
File without changes
|
File without changes
|
@@ -144,7 +144,7 @@ module ActionControllerExtensions
|
|
144
144
|
|
145
145
|
pages = page_list_items(@pg, key, options).compact.uniq
|
146
146
|
|
147
|
-
options[:wrapper_div] = true
|
147
|
+
options[:wrapper_div] = true unless options.has_key?(:wrapper_div)
|
148
148
|
|
149
149
|
render_page_list_segment(name, pages, options, html_options)
|
150
150
|
end
|
@@ -233,29 +233,30 @@ module ActionControllerExtensions
|
|
233
233
|
content << '</div>'
|
234
234
|
content << <<-EOT
|
235
235
|
<script type="text/javascript">
|
236
|
-
|
237
|
-
|
238
|
-
jQuery(
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
236
|
+
setTimeout(() => {
|
237
|
+
jQuery('##{key}').css({ opacity: '1', cursor: 'default' });
|
238
|
+
jQuery('.imagine_cms-paginator-link').not('.imagine_cms-paginator-link-selected').mouseover(function () {
|
239
|
+
jQuery(this).addClass('imagine_cms-paginator-link-selected');
|
240
|
+
}).mouseout(function () {
|
241
|
+
jQuery(this).removeClass('imagine_cms-paginator-link-selected');
|
242
|
+
});
|
243
243
|
EOT
|
244
244
|
num_segments.times do |seg|
|
245
245
|
start = seg * limit
|
246
246
|
content << <<-EOT
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
247
|
+
jQuery('##{key}-segment-#{seg}').click(function () {
|
248
|
+
jQuery('##{key}').css({ cursor: 'wait', opacity: '0.5' });
|
249
|
+
jQuery('html,body').animate({ scrollTop: jQuery('##{key}').position().top }, 200);
|
250
|
+
jQuery.get('#{url_for(:content_path => @pg.path.split('/').concat([ 'segment', start.to_s, name ]), :only_path => true)}', function (data) {
|
251
|
+
jQuery('##{key}').html(data);
|
252
|
+
jQuery('##{key}').css({ cursor: 'default', opacity: '1' });
|
253
|
+
});
|
254
|
+
return false;
|
255
|
+
})
|
256
256
|
EOT
|
257
257
|
end
|
258
258
|
content << <<-EOT
|
259
|
+
});
|
259
260
|
</script>
|
260
261
|
EOT
|
261
262
|
end
|
data/lib/imagine_cms/engine.rb
CHANGED
data/lib/imagine_cms/version.rb
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
#
|
21
21
|
# class UploadController < ApplicationController
|
22
22
|
# def upload_status
|
23
|
-
# render :
|
23
|
+
# render :plain => "Percent complete: " + @session[:uploads]['SOMEIDYOUSET'].completed_percent"
|
24
24
|
# end
|
25
25
|
# end
|
26
26
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: imagine_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.2.
|
4
|
+
version: 5.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Namba
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -398,6 +398,7 @@ files:
|
|
398
398
|
- app/controllers/management/users_controller.rb
|
399
399
|
- app/controllers/util_controller.rb
|
400
400
|
- app/helpers/cms_application_helper.rb
|
401
|
+
- app/helpers/cms_custom_helper.rb
|
401
402
|
- app/mailers/imagine_cms_mailer.rb
|
402
403
|
- app/models/cms_page.rb
|
403
404
|
- app/models/cms_page_object.rb
|
@@ -492,10 +493,10 @@ files:
|
|
492
493
|
- docker/conf/.my.cnf
|
493
494
|
- docker/conf/my.local.cnf
|
494
495
|
- docker/conf/my.prod.cnf
|
495
|
-
- docker/conf/nginx-vhost.conf
|
496
|
-
- docker/services/memcached
|
497
|
-
- docker/services/sidekiq
|
498
|
-
- docker/services/webpack
|
496
|
+
- docker/conf/nginx-vhost.conf.template
|
497
|
+
- docker/services/memcached
|
498
|
+
- docker/services/sidekiq
|
499
|
+
- docker/services/webpack
|
499
500
|
- docker/startup/101_mkdir.sh
|
500
501
|
- docker/startup/201_bundler.sh
|
501
502
|
- docker/startup/211_yarn.sh
|
@@ -595,7 +596,7 @@ homepage: https://github.com/anamba/imagine_cms
|
|
595
596
|
licenses:
|
596
597
|
- AGPLv3
|
597
598
|
metadata: {}
|
598
|
-
post_install_message:
|
599
|
+
post_install_message:
|
599
600
|
rdoc_options: []
|
600
601
|
require_paths:
|
601
602
|
- lib
|
@@ -610,9 +611,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
610
611
|
- !ruby/object:Gem::Version
|
611
612
|
version: 1.8.11
|
612
613
|
requirements: []
|
613
|
-
|
614
|
-
|
615
|
-
signing_key:
|
614
|
+
rubygems_version: 3.0.3
|
615
|
+
signing_key:
|
616
616
|
specification_version: 4
|
617
617
|
summary: Imagine Content Management System for Rails
|
618
618
|
test_files:
|