comfortable_mexican_sofa 2.0.7 → 2.0.8

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: 9a8a895885924f76db32a69c36575c4eab59b778
4
- data.tar.gz: 54afe80d356c995147bbe41bb14aa672f08fbbc9
3
+ metadata.gz: fb7afcd2d6042c08dd39429cbf714394ab50b286
4
+ data.tar.gz: 1ad39a72dc37a220429932e9df775373b7ee83c2
5
5
  SHA512:
6
- metadata.gz: d750c6640bccd486e359146c2f04a3e01b293a9d39c730cbab707c4afc1534eb4a5c4eaae8cbde73c42dce443e0776f11e97699e41d40be6eb93efbde79e0c43
7
- data.tar.gz: 47de41b4008aeac1fdd548b80fb698bbc88737d0df9285f196e497cf57e40d5b3ea02840dcc4c4f962b3660f52e82a611db947e79cb11450d99eefa79d366e61
6
+ metadata.gz: 6421a3b93ae6e47689a3fff0066334c4fe8da857d363863d35cf292a757972faa0ff54ae079ab317753549c6d0e435c1a37842e8f592d9ce4547794ad3d1ba88
7
+ data.tar.gz: 3eb62f07989bf29b0b0d15409b989b806c44da21a1357c19a3694ae4c7b6099a5d410f25c9abec25cbb3dc056d4e54e1f5565fdc5f79f7b8fe1ac7d5c423c6ac
@@ -1,10 +1,11 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.7
4
- - 2.3.5
5
- - 2.4.2
3
+ - 2.2.9
4
+ - 2.3.6
5
+ - 2.4.3
6
+ - 2.5.0
6
7
  gemfile:
7
- - test/gemfiles/Gemfile.rails.5.2
8
+ - test/gemfiles/5.2.gemfile
8
9
  branches:
9
10
  only:
10
11
  - master
@@ -14,6 +15,9 @@ addons:
14
15
  apt:
15
16
  packages:
16
17
  - google-chrome-stable
18
+ before_install:
19
+ - gem update --system
20
+ - gem update bundler
17
21
  before_script:
18
22
  - wget http://chromedriver.storage.googleapis.com/2.34/chromedriver_linux64.zip
19
23
  - unzip chromedriver_linux64.zip
@@ -28,4 +32,4 @@ script:
28
32
  - bundle exec rake db:migrate
29
33
  - bundle exec rake test
30
34
  - SKIP_COV=true bundle exec rake test:system
31
- - bundle exec rubocop
35
+ - bundle exec rubocop
@@ -9,10 +9,12 @@ Fork the project. Optionally, create a branch you want to work on.
9
9
  ### 2. Get it running locally
10
10
 
11
11
  - Install gem dependencies with `bundle install`
12
- - There's nothing to configure, by default database is SQLite so it will be created for you.
13
- Just run `rake db:migrate`
14
- - Make sure that existing tests are passing by running `rake test`
15
- - You should be able to start the app via `rails s` and navigate to http://localhost:3000/admin
12
+ - There's nothing to configure, by default database is SQLite so it will be
13
+ created for you. Just run `bundle exec rake db:migrate`
14
+ - Make sure that existing tests are passing by running `bundle exec rake test`
15
+ - There are system tests that can be run with `bundle exec rake test:system`.
16
+ You need to have `chromedriver` installed for that.
17
+ - You should be able to start the app via `bin/rails s` and navigate to http://localhost:3000/admin
16
18
 
17
19
  ### 3. Hack away
18
20
 
@@ -29,4 +31,5 @@ Fork the project. Optionally, create a branch you want to work on.
29
31
 
30
32
  ### 5. Done!
31
33
 
32
- If everything is good your changes will be merged into master branch. Eventually a new version of gem will be published.
34
+ If everything is good your changes will be merged into master branch. Eventually
35
+ a new version of gem will be published.
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010-2017 Oleg Khabarov
1
+ Copyright (c) 2010-2018 Oleg Khabarov
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -50,7 +50,7 @@ comfy_route :cms, path: "/"
50
50
 
51
51
  ## Quick Start Guide
52
52
 
53
- After finishing installation you should be able to navigate to http://yoursite/admin
53
+ After finishing installation you should be able to navigate to http://localhost:3000/admin
54
54
 
55
55
  Default username and password is 'username' and 'password'. You probably want to change it right away. Admin credentials (among other things) can be found and changed in the cms initializer: [/config/initializers/comfortable\_mexican\_sofa.rb](https://github.com/comfy/comfortable-mexican-sofa/blob/master/config/initializers/comfortable_mexican_sofa.rb)
56
56
 
@@ -73,7 +73,7 @@ Once you have a layout, you may start creating pages and populating content. It'
73
73
 
74
74
  For more information please refer to [Wiki](https://github.com/comfy/comfortable-mexican-sofa/wiki).
75
75
 
76
- ![Admin Area Preview](https://github.com/comfy/comfortable-mexican-sofa/raw/master/doc/preview.jpg)
76
+ ![Admin Area Preview](doc/preview.jpg)
77
77
 
78
78
  #### Old Versions
79
79
 
@@ -83,6 +83,14 @@ With Rails 4.2 and 5.0 use gem version [1.12.10](https://rubygems.org/gems/comfo
83
83
 
84
84
  With Rails 3.0 use gem version [1.8.5](https://rubygems.org/gems/comfortable_mexican_sofa/versions/1.8.5)
85
85
 
86
+ #### Contributing
87
+
88
+ ComfortableMexicanSofa repository can be ran like a regular Rails application in
89
+ development environment. It's as easy to work on as any other Rails app out there.
90
+ For more detail take a look at [CONTRIBUTING](CONTRIBUTING.md)
91
+
92
+ [![Help Contribute to Open Source](https://www.codetriage.com/comfy/comfortable-mexican-sofa/badges/users.svg)](https://www.codetriage.com/comfy/comfortable-mexican-sofa)
93
+
86
94
  #### Help and Contact
87
95
 
88
96
  Gitter: https://gitter.im/comfy/comfortable-mexican-sofa
@@ -91,10 +99,8 @@ Twitter: [@GroceryBagHead](https://twitter.com/grocerybaghead)
91
99
 
92
100
  #### Acknowledgements
93
101
 
94
- * Big thanks to Roman Almeida ([@nasmorn](https://github.com/nasmorn)) for contributing OEM License for [Redactor Text Editor](http://imperavi.com/redactor)
102
+ Thanks to [Roman Almeida](https://github.com/nasmorn) for contributing OEM License for [Redactor Text Editor](http://imperavi.com/redactor)
95
103
 
96
104
  ---
97
105
 
98
- ComfortableMexicanSofa is released under the [MIT license](https://github.com/comfy/comfortable-mexican-sofa/raw/master/LICENSE)
99
-
100
- Copyright 2010-2017 Oleg Khabarov
106
+ Copyright 2010-2018 Oleg Khabarov. Released under the [MIT license](LICENSE)
@@ -20,8 +20,25 @@ window.CMS.init = ->
20
20
  CMS.page_update_preview()
21
21
  CMS.categories()
22
22
  CMS.files()
23
+ CMS.upload_queue()
23
24
  CMS.diff()
24
25
 
26
+
27
+ window.CMS.upload_queue = ->
28
+ if $("#cms-uploader").length
29
+ uploader_url = $("meta[name='cms-uploader-url']").attr("content")
30
+ token_name = $("meta[name='cms-uploader-token-name']").attr("content")
31
+ token_value = $("meta[name='cms-uploader-token-value']").attr("content")
32
+ session_name = $("meta[name='cms-uploader-session-name']").attr("content")
33
+ session_value = $("meta[name='cms-uploader-session-value']").attr("content")
34
+
35
+ window.CMS.uploader $("#cms-uploader"),
36
+ url: uploader_url,
37
+ multipart_params:
38
+ "#{token_name}": token_value,
39
+ "#{session_name}": session_value
40
+
41
+
25
42
  window.CMS.slugify = ->
26
43
  slugify = (str) ->
27
44
  # Trim string and lower case.
@@ -80,18 +97,21 @@ window.CMS.wysiwyg = ->
80
97
  if (csrf_param != undefined && csrf_token != undefined)
81
98
  params = csrf_param + "=" + encodeURIComponent(csrf_token)
82
99
 
100
+ file_upload_path = $("meta[name='cms-file-upload-path']").attr("content")
101
+ pages_path = $("meta[name='cms-pages-path']").attr("content")
102
+
83
103
  $('textarea.rich-text-editor, textarea[data-cms-rich-text]').redactor
84
104
  minHeight: 160
85
105
  autoresize: true
86
- imageUpload: "#{CMS.file_upload_path}?source=redactor&type=image&#{params}"
87
- imageManagerJson: "#{CMS.file_upload_path}?source=redactor&type=image"
88
- fileUpload: "#{CMS.file_upload_path}?source=redactor&type=file&#{params}"
89
- fileManagerJson: "#{CMS.file_upload_path}?source=redactor&type=file"
90
- definedLinks: "#{CMS.pages_path}?source=redactor"
106
+ imageUpload: "#{file_upload_path}?source=redactor&type=image&#{params}"
107
+ imageManagerJson: "#{file_upload_path}?source=redactor&type=image"
108
+ fileUpload: "#{file_upload_path}?source=redactor&type=file&#{params}"
109
+ fileManagerJson: "#{file_upload_path}?source=redactor&type=file"
110
+ definedLinks: "#{pages_path}?source=redactor"
91
111
  buttonSource: true
92
112
  formatting: ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6']
93
113
  plugins: ['imagemanager', 'filemanager', 'table', 'video', 'definedlinks']
94
- lang: CMS.locale
114
+ lang: $("meta[name='cms-locale']").attr("content")
95
115
  convertDivs: false
96
116
 
97
117
 
@@ -140,11 +160,11 @@ window.CMS.timepicker = ->
140
160
  $('input[type=text][data-cms-datetime]').flatpickr
141
161
  format: 'yyyy-mm-dd hh:ii'
142
162
  enableTime: true
143
- locale: CMS.locale
163
+ locale: $("meta[name='cms-locale']").attr("content")
144
164
 
145
165
  $('input[type=text][data-cms-date]').flatpickr
146
166
  format: 'yyyy-mm-dd',
147
- locale: CMS.locale
167
+ locale: $("meta[name='cms-locale']").attr("content")
148
168
 
149
169
 
150
170
  window.CMS.page_fragments = ->
@@ -9,7 +9,7 @@
9
9
  .item-title
10
10
  - if file.attachment.image?
11
11
  - variant = file.attachment.variant(Comfy::Cms::File::VARIANT_SIZE[:thumb])
12
- - thumb = image_tag variant, size: "200x150"
12
+ - thumb = image_tag(url_for(variant), size: "200x150")
13
13
  = link_to file.attachment, target: "_blank", data: {toggle: "page-file-popover", content: thumb} do
14
14
  = file.label
15
15
 
@@ -1,3 +1,12 @@
1
+ - content_for :head do
2
+
3
+ - uploader_url = comfy_admin_cms_site_files_path(@site, source: :plupload, categories: params[:categories])
4
+ %meta{name: "cms-uploader-url", content: uploader_url}
5
+ %meta{name: "cms-uploader-token-name", content: request_forgery_protection_token}
6
+ %meta{name: "cms-uploader-token-value", content: form_authenticity_token}
7
+ %meta{name: "cms-uploader-session-name", content: Rails.application.config.session_options[:key]}
8
+ %meta{name: "cms-uploader-session-value", content: request.session_options[:id]}
9
+
1
10
  - content_for :right_column do
2
11
  = render "comfy/admin/cms/categories/index", type: "Comfy::Cms::File"
3
12
 
@@ -18,15 +27,3 @@
18
27
  = comfy_admin_partial "comfy/admin/cms/partials/files_after"
19
28
 
20
29
  = comfy_paginate @files
21
-
22
- - content_for :javascript do
23
- :javascript
24
- $(function(){
25
- window.CMS.uploader($("#cms-uploader"), {
26
- url: '#{comfy_admin_cms_site_files_path(@site, source: :plupload, category: params[:category])}',
27
- multipart_params: {
28
- '#{request_forgery_protection_token}': '#{form_authenticity_token}',
29
- '#{Rails.application.config.session_options[:key]}': '#{request.session_options[:id]}'
30
- }
31
- });
32
- });
@@ -2,7 +2,7 @@
2
2
  - attachments.each do |attachment|
3
3
  - if attachment.image?
4
4
  - variant = attachment.variant(Comfy::Cms::File::VARIANT_SIZE[:thumb])
5
- - thumb = image_tag variant, size: "200x150"
5
+ - thumb = image_tag(url_for(variant), size: "200x150")
6
6
  .btn.btn-outline-light
7
7
  = link_to attachment.filename, attachment, {data: {toggle: "page-file-popover", content: thumb}}
8
8
  %label.custom-control.custom-checkbox
@@ -2,11 +2,5 @@
2
2
 
3
3
  = javascript_include_tag "comfy/admin/cms/application", "data-turbolinks-track": "reload"
4
4
 
5
- - if @site && @site.persisted?
6
- :javascript
7
- CMS.file_upload_path = '#{comfy_admin_cms_site_files_path(@site)}';
8
- CMS.pages_path = '#{comfy_admin_cms_site_pages_path(@site)}';
9
- CMS.locale = '#{I18n.locale}';
10
-
11
5
  - if content_for(:javascript)
12
6
  = yield :javascript
@@ -7,6 +7,11 @@
7
7
 
8
8
  = csrf_meta_tag
9
9
 
10
+ - if @site && @site.persisted?
11
+ %meta{name: "cms-file-upload-path", content: comfy_admin_cms_site_files_path(@site)}
12
+ %meta{name: "cms-pages-path", content: comfy_admin_cms_site_pages_path(@site)}
13
+ %meta{name: "cms-locale", content: I18n.locale}
14
+
10
15
  = stylesheet_link_tag "comfy/admin/cms/application", media: "all", "data-turbolinks-track": "reload"
11
16
 
12
17
  = yield :head
@@ -10,10 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.summary = "Rails 5.2+ CMS Engine"
11
11
  s.description = "ComfortableMexicanSofa is a powerful Rails 5.2+ CMS Engine"
12
12
  s.license = "MIT"
13
-
14
13
  s.files = `git ls-files`.split("\n")
15
- s.platform = Gem::Platform::RUBY
16
- s.require_paths = ["lib"]
17
14
 
18
15
  s.required_ruby_version = ">= 2.2.2"
19
16
 
@@ -36,18 +36,6 @@ ComfortableMexicanSofa.configure do |config|
36
36
  # Path where seeds can be located.
37
37
  # config.seeds_path = File.expand_path('db/cms_seeds', Rails.root)
38
38
 
39
- # Importing fixtures into Database
40
- # To load fixtures into the database just run this rake task:
41
- # local: $ rake comfortable_mexican_sofa:fixtures:import FROM=example.local TO=localhost
42
- # Heroku: $ heroku run rake comfortable_mexican_sofa:fixtures:import FROM=example.local TO=yourapp.herokuapp.com
43
- # From indicates folder the fixtures are in and to is the Site hostname you have defined in the database.
44
-
45
- # Exporting fixtures into Files
46
- # If you need to dump database contents into fixture files run:
47
- # local: $ rake comfortable_mexican_sofa:fixtures:export FROM=localhost TO=example.local
48
- # Heroku: $ heroku run rake comfortable_mexican_sofa:fixtures:export FROM=yourapp.herokuapp.com TO=example.local
49
- # This will create example.local folder and dump all content from example.com Site.
50
-
51
39
  # Content for Layouts, Pages and Snippets has a revision history. You can revert
52
40
  # a previous version using this system. You can control how many revisions per
53
41
  # object you want to keep. Set it to 0 if you wish to turn this feature off.
@@ -12,6 +12,8 @@ class ComfortableMexicanSofa::Content::Tag::File < ComfortableMexicanSofa::Conte
12
12
 
13
13
  attr_reader :as, :variant_attrs
14
14
 
15
+ delegate :rails_blob_path, to: "Rails.application.routes.url_helpers"
16
+
15
17
  def initialize(context, params_string)
16
18
  super
17
19
  @as = options["as"] || "url"
@@ -26,13 +28,15 @@ class ComfortableMexicanSofa::Content::Tag::File < ComfortableMexicanSofa::Conte
26
28
  file = file.variant(@variant_attrs)
27
29
  end
28
30
 
31
+ url = rails_blob_path(file, only_path: true)
32
+
29
33
  case @as
30
34
  when "link"
31
- "<a href='#{url_for(file)}' target='_blank'>#{label}</a>"
35
+ "<a href='#{url}' target='_blank'>#{label}</a>"
32
36
  when "image"
33
- "<img src='#{url_for(file)}' alt='#{label}'/>"
37
+ "<img src='#{url}' alt='#{label}'/>"
34
38
  else
35
- url_for(file)
39
+ url
36
40
  end
37
41
  end
38
42
 
@@ -65,13 +69,6 @@ protected
65
69
  @label || attachment && attachment.filename
66
70
  end
67
71
 
68
- def url_for(attachment)
69
- ApplicationController.render(
70
- inline: "<%= url_for(@attachment) %>",
71
- assigns: { attachment: attachment }
72
- )
73
- end
74
-
75
72
  end
76
73
 
77
74
  ComfortableMexicanSofa::Content::Renderer.register_tag(
@@ -12,6 +12,8 @@ class ComfortableMexicanSofa::Content::Tag::FileLink < ComfortableMexicanSofa::C
12
12
 
13
13
  attr_reader :identifier, :as, :variant_attrs
14
14
 
15
+ delegate :rails_blob_path, to: "Rails.application.routes.url_helpers"
16
+
15
17
  def initialize(context, params_string)
16
18
  super
17
19
 
@@ -41,25 +43,18 @@ class ComfortableMexicanSofa::Content::Tag::FileLink < ComfortableMexicanSofa::C
41
43
  attachment = attachment.variant(@variant_attrs)
42
44
  end
43
45
 
46
+ url = rails_blob_path(attachment, only_path: true)
47
+
44
48
  case @as
45
49
  when "link"
46
- "<a href='#{url_for(attachment)}' target='_blank'>#{label}</a>"
50
+ "<a href='#{url}' target='_blank'>#{label}</a>"
47
51
  when "image"
48
- "<img src='#{url_for(attachment)}' alt='#{label}'/>"
52
+ "<img src='#{url}' alt='#{label}'/>"
49
53
  else
50
- url_for(attachment)
54
+ url
51
55
  end
52
56
  end
53
57
 
54
- protected
55
-
56
- def url_for(attachment)
57
- ApplicationController.render(
58
- inline: "<%= url_for(@attachment) %>",
59
- assigns: { attachment: attachment }
60
- )
61
- end
62
-
63
58
  end
64
59
 
65
60
  ComfortableMexicanSofa::Content::Renderer.register_tag(
@@ -7,7 +7,7 @@ module ComfortableMexicanSofa::HasRevisions
7
7
  module ClassMethods
8
8
 
9
9
  def cms_has_revisions_for(*fields)
10
- include ComfortableMexicanSofa::HasRevisions::InstanceMethods # rubocop:disable Style/MixinUsage
10
+ include ComfortableMexicanSofa::HasRevisions::InstanceMethods
11
11
 
12
12
  attr_accessor :revision_data
13
13
 
@@ -1,5 +1,5 @@
1
1
  module ComfortableMexicanSofa
2
2
 
3
- VERSION = "2.0.7".freeze
3
+ VERSION = "2.0.8".freeze
4
4
 
5
5
  end
@@ -0,0 +1,27 @@
1
+ require_relative "../test_helper"
2
+
3
+ class MetaVariablesIntegrationTest < ActionDispatch::IntegrationTest
4
+
5
+ def test_redactor_js_variables
6
+ site = comfy_cms_sites(:default)
7
+ r :get, comfy_admin_cms_site_pages_path(site)
8
+ assert_response :success
9
+
10
+ assert_select "meta[name='cms-file-upload-path'][content='#{comfy_admin_cms_site_files_path(site)}']"
11
+ assert_select "meta[name='cms-pages-path'][content='#{comfy_admin_cms_site_pages_path(site)}']"
12
+ assert_select "meta[name='cms-locale'][content='en']"
13
+ end
14
+
15
+ def test_plupload_js_variables
16
+ site = comfy_cms_sites(:default)
17
+ r :get, comfy_admin_cms_site_files_path(site)
18
+ assert_response :success
19
+
20
+ assert_select "meta[name='cms-uploader-url']"
21
+ assert_select "meta[name='cms-uploader-token-name']"
22
+ assert_select "meta[name='cms-uploader-token-value']"
23
+ assert_select "meta[name='cms-uploader-session-name']"
24
+ assert_select "meta[name='cms-uploader-session-value']"
25
+ end
26
+
27
+ end
@@ -2,18 +2,13 @@ require_relative "../../../test_helper"
2
2
 
3
3
  class ContentTagsFileLinkTest < ActiveSupport::TestCase
4
4
 
5
+ delegate :rails_blob_path, to: "Rails.application.routes.url_helpers"
6
+
5
7
  setup do
6
8
  @page = comfy_cms_pages(:default)
7
9
  @file = comfy_cms_files(:default)
8
10
  end
9
11
 
10
- def url_for(attachment)
11
- ApplicationController.render(
12
- inline: "<%= url_for(@attachment) %>",
13
- assigns: { attachment: attachment }
14
- )
15
- end
16
-
17
12
  # -- Tests -------------------------------------------------------------------
18
13
 
19
14
  def test_init
@@ -51,21 +46,23 @@ class ContentTagsFileLinkTest < ActiveSupport::TestCase
51
46
 
52
47
  def test_content
53
48
  tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(@page, @file.id)
54
- out = url_for(tag.file.attachment)
49
+ out = rails_blob_path(tag.file.attachment, only_path: true)
55
50
  assert_equal out, tag.content
56
51
  assert_equal out, tag.render
57
52
  end
58
53
 
59
54
  def test_content_as_link
60
55
  tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(@page, "#{@file.id}, as: link")
61
- out = "<a href='#{url_for(tag.file.attachment)}' target='_blank'>default file</a>"
56
+ url = rails_blob_path(tag.file.attachment, only_path: true)
57
+ out = "<a href='#{url}' target='_blank'>default file</a>"
62
58
  assert_equal out, tag.content
63
59
  assert_equal out, tag.render
64
60
  end
65
61
 
66
62
  def test_content_as_image
67
63
  tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(@page, "#{@file.id}, as: image")
68
- out = "<img src='#{url_for(tag.file.attachment)}' alt='default file'/>"
64
+ url = rails_blob_path(tag.file.attachment, only_path: true)
65
+ out = "<img src='#{url}' alt='default file'/>"
69
66
  assert_equal out, tag.content
70
67
  assert_equal out, tag.render
71
68
  end
@@ -2,17 +2,12 @@ require_relative "../../../test_helper"
2
2
 
3
3
  class ContentTagsFileTest < ActiveSupport::TestCase
4
4
 
5
+ delegate :rails_blob_path, to: "Rails.application.routes.url_helpers"
6
+
5
7
  setup do
6
8
  @page = comfy_cms_pages(:default)
7
9
  end
8
10
 
9
- def url_for(attachment)
10
- ApplicationController.render(
11
- inline: "<%= url_for(@attachment) %>",
12
- assigns: { attachment: attachment }
13
- )
14
- end
15
-
16
11
  # -- Tests -------------------------------------------------------------------
17
12
 
18
13
  def test_init
@@ -36,20 +31,20 @@ class ContentTagsFileTest < ActiveSupport::TestCase
36
31
  def test_content
37
32
  frag = comfy_cms_fragments(:file)
38
33
  tag = ComfortableMexicanSofa::Content::Tag::File.new(@page, frag.identifier)
39
- assert_equal url_for(frag.attachments.first), tag.content
34
+ assert_equal rails_blob_path(frag.attachments.first, only_path: true), tag.content
40
35
  end
41
36
 
42
37
  def test_content_as_link
43
38
  frag = comfy_cms_fragments(:file)
44
39
  tag = ComfortableMexicanSofa::Content::Tag::File.new(@page, "#{frag.identifier}, as: link")
45
- out = "<a href='#{url_for(frag.attachments.first)}' target='_blank'>fragment.jpg</a>"
40
+ out = "<a href='#{rails_blob_path(frag.attachments.first, only_path: true)}' target='_blank'>fragment.jpg</a>"
46
41
  assert_equal out, tag.content
47
42
  end
48
43
 
49
44
  def test_content_as_image
50
45
  frag = comfy_cms_fragments(:file)
51
46
  tag = ComfortableMexicanSofa::Content::Tag::File.new(@page, "#{frag.identifier}, as: image")
52
- out = "<img src='#{url_for(frag.attachments.first)}' alt='fragment.jpg'/>"
47
+ out = "<img src='#{rails_blob_path(frag.attachments.first, only_path: true)}' alt='fragment.jpg'/>"
53
48
  assert_equal out, tag.content
54
49
  end
55
50
 
@@ -2,17 +2,12 @@ require_relative "../../../test_helper"
2
2
 
3
3
  class ContentTagsFilesTest < ActiveSupport::TestCase
4
4
 
5
+ delegate :rails_blob_path, to: "Rails.application.routes.url_helpers"
6
+
5
7
  setup do
6
8
  @page = comfy_cms_pages(:default)
7
9
  end
8
10
 
9
- def url_for(attachment)
10
- ApplicationController.render(
11
- inline: "<%= url_for(@attachment) %>",
12
- assigns: { attachment: attachment }
13
- )
14
- end
15
-
16
11
  # -- Tests -------------------------------------------------------------------
17
12
 
18
13
  def test_init
@@ -38,7 +33,7 @@ class ContentTagsFilesTest < ActiveSupport::TestCase
38
33
  frag.update_attribute(:tag, "files")
39
34
  frag.update_attribute(:files, fixture_file_upload("files/image.jpg", "image/jpeg"))
40
35
  tag = ComfortableMexicanSofa::Content::Tag::Files.new(@page, frag.identifier)
41
- out = frag.attachments.map { |a| url_for(a) }.join(" ")
36
+ out = frag.attachments.map { |a| rails_blob_path(a, only_path: true) }.join(" ")
42
37
  assert_equal out, tag.content
43
38
  end
44
39
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comfortable_mexican_sofa
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.7
4
+ version: 2.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Khabarov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-24 00:00:00.000000000 Z
11
+ date: 2018-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_link_to
@@ -667,7 +667,7 @@ files:
667
667
  - test/fixtures/views/render_test/_test.html.erb
668
668
  - test/fixtures/views/render_test/new.html.erb
669
669
  - test/fixtures/views/render_test/render_layout.html.erb
670
- - test/gemfiles/Gemfile.rails.5.2
670
+ - test/gemfiles/5.2.gemfile
671
671
  - test/generators/cms_assets_generator_test.rb
672
672
  - test/generators/cms_controllers_generator_test.rb
673
673
  - test/generators/cms_generator_test.rb
@@ -677,7 +677,7 @@ files:
677
677
  - test/helpers/cms_helper_test.rb
678
678
  - test/integration/access_control_test.rb
679
679
  - test/integration/i18n_test.rb
680
- - test/integration/js_variables_test.rb
680
+ - test/integration/meta_variables_test.rb
681
681
  - test/integration/render_cms_test.rb
682
682
  - test/integration/routing_test.rb
683
683
  - test/integration/seeds_test.rb
@@ -1,21 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class JsVariablesIntegrationTest < ActionDispatch::IntegrationTest
4
-
5
- def test_redactor_js_variables
6
- site = comfy_cms_sites(:default)
7
- r :get, comfy_admin_cms_site_pages_path(site)
8
- assert_response :success
9
-
10
- js_vars = <<-HTML.strip_heredoc
11
- <script>
12
- CMS.file_upload_path = '#{comfy_admin_cms_site_files_path(site)}';
13
- CMS.pages_path = '#{comfy_admin_cms_site_pages_path(site)}';
14
- CMS.locale = 'en';
15
- </script>
16
- HTML
17
-
18
- assert response.body.match(js_vars)
19
- end
20
-
21
- end