actiontext 6.0.0.beta3 → 6.0.0.rc1

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
  SHA256:
3
- metadata.gz: 524a09225f5111a58ec1950764ed38a5095d73d264c1f7d54f6dcd12e0a90120
4
- data.tar.gz: 326d6cb09c3c55611f91b337996ca359aa0d5c7882a6ffedfa9247741690a770
3
+ metadata.gz: dbf2331abf6f5c5afd25499c2ef99c95e09c1030ba5e5c228bb10b0a1b38b38d
4
+ data.tar.gz: d275794dde9187e578303f1993307da788faf98ce8055f5512dbb197c2d2d748
5
5
  SHA512:
6
- metadata.gz: db5749a95ab19520bf7e5ffaf33912719d6a571bba4599de9d743fe6d8e2d23e2c682907f8624b536c96ad54f98c40ffe5b04cba113bb4b33c75d25633a583dd
7
- data.tar.gz: e6ffc8c4b1455e3b86a29c108b1c2bb90cbde43bc231268fcb0392d5a3a4f8ee796f04ef215cdc319c59652d6913cf29fc567b15567a68886a4c896e791f5c6a
6
+ metadata.gz: bf2cf3e7c6f2868ed749e81ea51981d58753635e57b3a1cedba941e98b8fc22787ffc8d023f5c095f07993b1edc75ef454aad556586561f305bbb5069f52292f
7
+ data.tar.gz: f8747d2ca2eed60dcc99734b86a984018153a0c1cac1b05e4da8e2f820c40154351096ac655e7d527dc5c2111b7ce8072a58ae7a757271a3e6a3816f39447a6f
@@ -1,3 +1,8 @@
1
+ ## Rails 6.0.0.rc1 (April 24, 2019) ##
2
+
3
+ * No changes.
4
+
5
+
1
6
  ## Rails 6.0.0.beta3 (March 11, 2019) ##
2
7
 
3
8
  * 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.white_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
@@ -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
@@ -10,7 +10,7 @@ module ActionText
10
10
  MAJOR = 6
11
11
  MINOR = 0
12
12
  TINY = 0
13
- PRE = "beta3"
13
+ PRE = "rc1"
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.0-rc1",
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.0.rc1
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-04-24 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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: nokogiri
73
73
  requirement: !ruby/object:Gem::Requirement
@@ -134,8 +134,8 @@ 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
+ source_code_uri: https://github.com/rails/rails/tree/v6.0.0.rc1/actiontext
138
+ changelog_uri: https://github.com/rails/rails/blob/v6.0.0.rc1/actiontext/CHANGELOG.md
139
139
  post_install_message:
140
140
  rdoc_options: []
141
141
  require_paths: