actiontext 6.0.0.beta3 → 6.0.2.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of actiontext might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 524a09225f5111a58ec1950764ed38a5095d73d264c1f7d54f6dcd12e0a90120
4
- data.tar.gz: 326d6cb09c3c55611f91b337996ca359aa0d5c7882a6ffedfa9247741690a770
3
+ metadata.gz: b429ed63109ccc1b9831d8e0f8dcfc1f066922083df6321f9718cb209554d0e5
4
+ data.tar.gz: ad1369a026ab02a7817bcbd88fc3ba212f590e468b99806572bc8f083bae60c2
5
5
  SHA512:
6
- metadata.gz: db5749a95ab19520bf7e5ffaf33912719d6a571bba4599de9d743fe6d8e2d23e2c682907f8624b536c96ad54f98c40ffe5b04cba113bb4b33c75d25633a583dd
7
- data.tar.gz: e6ffc8c4b1455e3b86a29c108b1c2bb90cbde43bc231268fcb0392d5a3a4f8ee796f04ef215cdc319c59652d6913cf29fc567b15567a68886a4c896e791f5c6a
6
+ metadata.gz: da013859c83fae486d4ebe525f1786b39aca059bec7027dfb60e701405b3ce43b7320b0e51a952adaa654d6d4acd767eb06800df27889ab3e74fa99cccd534b9
7
+ data.tar.gz: 283df95170ed537ee2e60852fc98b92c3d15396b6a945f35adb776b6b6ff644dbe908ab7060a367975073d952432d55f95838a0f69b8741963c0f84b987e2f9b
@@ -1,3 +1,28 @@
1
+ ## Rails 6.0.2.rc2 (December 09, 2019) ##
2
+
3
+ * No changes.
4
+
5
+
6
+ ## Rails 6.0.1 (November 5, 2019) ##
7
+
8
+ * No changes.
9
+
10
+
11
+ ## Rails 6.0.0 (August 16, 2019) ##
12
+
13
+ * No changes.
14
+
15
+
16
+ ## Rails 6.0.0.rc2 (July 22, 2019) ##
17
+
18
+ * No changes.
19
+
20
+
21
+ ## Rails 6.0.0.rc1 (April 24, 2019) ##
22
+
23
+ * No changes.
24
+
25
+
1
26
  ## Rails 6.0.0.beta3 (March 11, 2019) ##
2
27
 
3
28
  * No changes.
@@ -1,21 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "rails-html-sanitizer"
4
+
3
5
  module ActionText
4
6
  module ContentHelper
5
- SANITIZER = Rails::Html::Sanitizer.white_list_sanitizer
6
- ALLOWED_TAGS = SANITIZER.allowed_tags + [ ActionText::Attachment::TAG_NAME, "figure", "figcaption" ]
7
- ALLOWED_ATTRIBUTES = SANITIZER.allowed_attributes + ActionText::Attachment::ATTRIBUTES
7
+ mattr_accessor(:sanitizer) { Rails::Html::Sanitizer.safe_list_sanitizer.new }
8
+ mattr_accessor(:allowed_tags) { sanitizer.class.allowed_tags + [ ActionText::Attachment::TAG_NAME, "figure", "figcaption" ] }
9
+ mattr_accessor(:allowed_attributes) { sanitizer.class.allowed_attributes + ActionText::Attachment::ATTRIBUTES }
10
+ mattr_accessor(:scrubber)
8
11
 
9
12
  def render_action_text_content(content)
10
- content = content.render_attachments do |attachment|
13
+ sanitize_action_text_content(render_action_text_attachments(content))
14
+ end
15
+
16
+ def sanitize_action_text_content(content)
17
+ sanitizer.sanitize(content.to_html, tags: allowed_tags, attributes: allowed_attributes, scrubber: scrubber).html_safe
18
+ end
19
+
20
+ def render_action_text_attachments(content)
21
+ content.render_attachments do |attachment|
11
22
  unless attachment.in?(content.gallery_attachments)
12
23
  attachment.node.tap do |node|
13
24
  node.inner_html = render(attachment, in_gallery: false).chomp
14
25
  end
15
26
  end
16
- end
17
-
18
- content = content.render_attachment_galleries do |attachment_gallery|
27
+ end.render_attachment_galleries do |attachment_gallery|
19
28
  render(layout: attachment_gallery, object: attachment_gallery) do
20
29
  attachment_gallery.attachments.map do |attachment|
21
30
  attachment.node.inner_html = render(attachment, in_gallery: true).chomp
@@ -23,8 +32,6 @@ module ActionText
23
32
  end.join("").html_safe
24
33
  end.chomp
25
34
  end
26
-
27
- sanitize content.to_html, tags: ALLOWED_TAGS, attributes: ALLOWED_ATTRIBUTES
28
35
  end
29
36
  end
30
37
  end
@@ -15,7 +15,7 @@ module ActionText
15
15
  has_many_attached :embeds
16
16
 
17
17
  before_save do
18
- self.embeds = body.attachables.grep(ActiveStorage::Blob) if body.present?
18
+ self.embeds = body.attachables.grep(ActiveStorage::Blob).uniq if body.present?
19
19
  end
20
20
 
21
21
  def to_plain_text
@@ -67,6 +67,10 @@ module ActionText
67
67
  super.merge(attachable_sgid: attachable_sgid)
68
68
  end
69
69
 
70
+ def to_trix_content_attachment_partial_path
71
+ to_partial_path
72
+ end
73
+
70
74
  def to_rich_text_attributes(attributes = {})
71
75
  attributes.dup.tap do |attrs|
72
76
  attrs[:sgid] = attachable_sgid
@@ -26,7 +26,7 @@ module ActionText
26
26
  def has_rich_text(name)
27
27
  class_eval <<-CODE, __FILE__, __LINE__ + 1
28
28
  def #{name}
29
- self.rich_text_#{name} ||= ActionText::RichText.new(name: "#{name}", record: self)
29
+ rich_text_#{name} || build_rich_text_#{name}
30
30
  end
31
31
 
32
32
  def #{name}=(body)
@@ -34,14 +34,11 @@ module ActionText
34
34
  end
35
35
  CODE
36
36
 
37
- has_one :"rich_text_#{name}", -> { where(name: name) }, class_name: "ActionText::RichText", as: :record, inverse_of: :record, dependent: :destroy
37
+ has_one :"rich_text_#{name}", -> { where(name: name) },
38
+ class_name: "ActionText::RichText", as: :record, inverse_of: :record, autosave: true, dependent: :destroy
38
39
 
39
40
  scope :"with_rich_text_#{name}", -> { includes("rich_text_#{name}") }
40
41
  scope :"with_rich_text_#{name}_and_embeds", -> { includes("rich_text_#{name}": { embeds_attachments: :blob }) }
41
-
42
- after_save do
43
- public_send(name).save if public_send(name).changed?
44
- end
45
42
  end
46
43
  end
47
44
  end
@@ -25,6 +25,10 @@ module ActionText
25
25
  def previewable_attachable?
26
26
  representable?
27
27
  end
28
+
29
+ def attachable_plain_text_representation(caption = nil)
30
+ "[#{caption || filename}]"
31
+ end
28
32
  end
29
33
  end
30
34
 
@@ -9,8 +9,8 @@ module ActionText
9
9
  module VERSION
10
10
  MAJOR = 6
11
11
  MINOR = 0
12
- TINY = 0
13
- PRE = "beta3"
12
+ TINY = 2
13
+ PRE = "rc2"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
@@ -29,4 +29,17 @@ if APPLICATION_PACK_PATH.exist?
29
29
  append_to_file APPLICATION_PACK_PATH, "\n#{line}"
30
30
  end
31
31
  end
32
+ else
33
+ warn <<~WARNING
34
+ WARNING: Action Text can't locate your JavaScript bundle to add its package dependencies.
35
+
36
+ Add these lines to any bundles:
37
+
38
+ require("trix")
39
+ require("@rails/actiontext")
40
+
41
+ Alternatively, install and setup the webpacker gem then rerun `bin/rails action_text:install`
42
+ to have these dependencies added automatically.
43
+
44
+ WARNING
32
45
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rails/actiontext",
3
- "version": "6.0.0-beta3",
3
+ "version": "6.0.2-rc2",
4
4
  "description": "Edit and display rich text in Rails applications",
5
5
  "main": "app/javascript/actiontext/index.js",
6
6
  "files": [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actiontext
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0.beta3
4
+ version: 6.0.2.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javan Makhmali
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-03-13 00:00:00.000000000 Z
13
+ date: 2019-12-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -18,56 +18,56 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 6.0.0.beta3
21
+ version: 6.0.2.rc2
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 6.0.0.beta3
28
+ version: 6.0.2.rc2
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: activerecord
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 6.0.0.beta3
35
+ version: 6.0.2.rc2
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 6.0.0.beta3
42
+ version: 6.0.2.rc2
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: activestorage
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 6.0.0.beta3
49
+ version: 6.0.2.rc2
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 6.0.0.beta3
56
+ version: 6.0.2.rc2
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: actionpack
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - '='
62
62
  - !ruby/object:Gem::Version
63
- version: 6.0.0.beta3
63
+ version: 6.0.2.rc2
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
- version: 6.0.0.beta3
70
+ version: 6.0.2.rc2
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: nokogiri
73
73
  requirement: !ruby/object:Gem::Requirement
@@ -134,8 +134,11 @@ homepage: https://rubyonrails.org
134
134
  licenses:
135
135
  - MIT
136
136
  metadata:
137
- source_code_uri: https://github.com/rails/rails/tree/v6.0.0.beta3/actiontext
138
- changelog_uri: https://github.com/rails/rails/blob/v6.0.0.beta3/actiontext/CHANGELOG.md
137
+ bug_tracker_uri: https://github.com/rails/rails/issues
138
+ changelog_uri: https://github.com/rails/rails/blob/v6.0.2.rc2/actiontext/CHANGELOG.md
139
+ documentation_uri: https://api.rubyonrails.org/v6.0.2.rc2/
140
+ mailing_list_uri: https://groups.google.com/forum/#!forum/rubyonrails-talk
141
+ source_code_uri: https://github.com/rails/rails/tree/v6.0.2.rc2/actiontext
139
142
  post_install_message:
140
143
  rdoc_options: []
141
144
  require_paths:
@@ -151,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
154
  - !ruby/object:Gem::Version
152
155
  version: 1.3.1
153
156
  requirements: []
154
- rubygems_version: 3.0.1
157
+ rubygems_version: 3.0.3
155
158
  signing_key:
156
159
  specification_version: 4
157
160
  summary: Rich text framework.