actiontext 7.0.8.7 → 7.2.2.1

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -160
  3. data/MIT-LICENSE +1 -1
  4. data/README.md +2 -2
  5. data/app/assets/javascripts/actiontext.esm.js +889 -0
  6. data/app/assets/javascripts/actiontext.js +55 -73
  7. data/app/assets/javascripts/trix.js +13718 -25
  8. data/app/assets/stylesheets/trix.css +67 -30
  9. data/app/helpers/action_text/content_helper.rb +28 -4
  10. data/app/helpers/action_text/tag_helper.rb +44 -30
  11. data/app/models/action_text/encrypted_rich_text.rb +4 -2
  12. data/app/models/action_text/record.rb +2 -0
  13. data/app/models/action_text/rich_text.rb +66 -6
  14. data/app/views/action_text/attachables/_content_attachment.html.erb +3 -0
  15. data/db/migrate/20180528164100_create_action_text_tables.rb +1 -1
  16. data/lib/action_text/attachable.rb +71 -5
  17. data/lib/action_text/attachables/content_attachment.rb +22 -18
  18. data/lib/action_text/attachables/missing_attachable.rb +19 -3
  19. data/lib/action_text/attachables/remote_image.rb +2 -0
  20. data/lib/action_text/attachment.rb +45 -2
  21. data/lib/action_text/attachment_gallery.rb +2 -0
  22. data/lib/action_text/attachments/caching.rb +2 -0
  23. data/lib/action_text/attachments/minification.rb +2 -0
  24. data/lib/action_text/attachments/trix_conversion.rb +2 -0
  25. data/lib/action_text/attribute.rb +40 -21
  26. data/lib/action_text/content.rb +68 -3
  27. data/lib/action_text/deprecator.rb +9 -0
  28. data/lib/action_text/encryption.rb +2 -0
  29. data/lib/action_text/engine.rb +17 -9
  30. data/lib/action_text/fixture_set.rb +35 -33
  31. data/lib/action_text/fragment.rb +8 -3
  32. data/lib/action_text/gem_version.rb +6 -4
  33. data/lib/action_text/html_conversion.rb +3 -1
  34. data/lib/action_text/plain_text_conversion.rb +2 -0
  35. data/lib/action_text/rendering.rb +7 -2
  36. data/lib/action_text/serialization.rb +2 -0
  37. data/lib/action_text/system_test_helper.rb +20 -17
  38. data/lib/action_text/trix_attachment.rb +4 -2
  39. data/lib/action_text/version.rb +3 -1
  40. data/lib/action_text.rb +19 -0
  41. data/lib/generators/action_text/install/install_generator.rb +29 -5
  42. data/lib/generators/action_text/install/templates/actiontext.css +0 -4
  43. data/lib/rails/generators/test_unit/install_generator.rb +2 -0
  44. data/package.json +7 -7
  45. metadata +16 -13
@@ -1,60 +1,62 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  module ActionText
4
- # Fixtures are a way of organizing data that you want to test against; in
5
- # short, sample data.
6
+ # # Action Text FixtureSet
7
+ #
8
+ # Fixtures are a way of organizing data that you want to test against; in short,
9
+ # sample data.
6
10
  #
7
11
  # To learn more about fixtures, read the ActiveRecord::FixtureSet documentation.
8
12
  #
9
- # === YAML
13
+ # ### YAML
10
14
  #
11
15
  # Like other Active Record-backed models, ActionText::RichText records inherit
12
- # from ActiveRecord::Base instances and can therefore be populated by
13
- # fixtures.
16
+ # from ActiveRecord::Base instances and can therefore be populated by fixtures.
14
17
  #
15
- # Consider an <tt>Article</tt> class:
18
+ # Consider an `Article` class:
16
19
  #
17
- # class Article < ApplicationRecord
18
- # has_rich_text :content
19
- # end
20
+ # class Article < ApplicationRecord
21
+ # has_rich_text :content
22
+ # end
20
23
  #
21
- # To declare fixture data for the related <tt>content</tt>, first declare fixture
22
- # data for <tt>Article</tt> instances in <tt>test/fixtures/articles.yml</tt>:
24
+ # To declare fixture data for the related `content`, first declare fixture data
25
+ # for `Article` instances in `test/fixtures/articles.yml`:
23
26
  #
24
- # first:
25
- # title: An Article
27
+ # first:
28
+ # title: An Article
26
29
  #
27
30
  # Then declare the ActionText::RichText fixture data in
28
- # <tt>test/fixtures/action_text/rich_texts.yml</tt>, making sure to declare
29
- # each entry's <tt>record:</tt> key as a polymorphic relationship:
31
+ # `test/fixtures/action_text/rich_texts.yml`, making sure to declare each
32
+ # entry's `record:` key as a polymorphic relationship:
30
33
  #
31
- # first:
32
- # record: first (Article)
33
- # name: content
34
- # body: <div>Hello, world.</div>
34
+ # first:
35
+ # record: first (Article)
36
+ # name: content
37
+ # body: <div>Hello, world.</div>
35
38
  #
36
39
  # When processed, Active Record will insert database records for each fixture
37
40
  # entry and will ensure the Action Text relationship is intact.
38
41
  class FixtureSet
39
- # Fixtures support Action Text attachments as part of their <tt>body</tt>
40
- # HTML.
42
+ # Fixtures support Action Text attachments as part of their `body` HTML.
41
43
  #
42
- # === Examples
44
+ # ### Examples
43
45
  #
44
- # For example, consider a second <tt>Article</tt> fixture declared in
45
- # <tt>test/fixtures/articles.yml</tt>:
46
+ # For example, consider a second `Article` fixture declared in
47
+ # `test/fixtures/articles.yml`:
46
48
  #
47
- # second:
48
- # title: Another Article
49
+ # second:
50
+ # title: Another Article
49
51
  #
50
- # You can attach a mention of <tt>articles(:first)</tt> to <tt>second</tt>'s
51
- # <tt>content</tt> by embedding a call to <tt>ActionText::FixtureSet.attachment</tt>
52
- # in the <tt>body:</tt> value in <tt>test/fixtures/action_text/rich_texts.yml</tt>:
52
+ # You can attach a mention of `articles(:first)` to `second`'s `content` by
53
+ # embedding a call to `ActionText::FixtureSet.attachment` in the `body:` value
54
+ # in `test/fixtures/action_text/rich_texts.yml`:
53
55
  #
54
- # second:
55
- # record: second (Article)
56
- # name: content
57
- # body: <div>Hello, <%= ActionText::FixtureSet.attachment("articles", :first) %></div>
56
+ # second:
57
+ # record: second (Article)
58
+ # name: content
59
+ # body: <div>Hello, <%= ActionText::FixtureSet.attachment("articles", :first) %></div>
58
60
  #
59
61
  def self.attachment(fixture_set_name, label, column_type: :integer)
60
62
  signed_global_id = ActiveRecord::FixtureSet.signed_global_id fixture_set_name, label,
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  module ActionText
4
6
  class Fragment
5
7
  class << self
@@ -7,7 +9,7 @@ module ActionText
7
9
  case fragment_or_html
8
10
  when self
9
11
  fragment_or_html
10
- when Nokogiri::HTML::DocumentFragment
12
+ when Nokogiri::XML::DocumentFragment # base class for all fragments
11
13
  new(fragment_or_html)
12
14
  else
13
15
  from_html(fragment_or_html)
@@ -21,6 +23,8 @@ module ActionText
21
23
 
22
24
  attr_reader :source
23
25
 
26
+ delegate :deconstruct, to: "source.elements"
27
+
24
28
  def initialize(source)
25
29
  @source = source
26
30
  end
@@ -30,14 +34,15 @@ module ActionText
30
34
  end
31
35
 
32
36
  def update
33
- yield source = self.source.clone
37
+ yield source = self.source.dup
34
38
  self.class.new(source)
35
39
  end
36
40
 
37
41
  def replace(selector)
38
42
  update do |source|
39
43
  source.css(selector).each do |node|
40
- node.replace(yield(node).to_s)
44
+ replacement_node = yield(node)
45
+ node.replace(replacement_node.to_s) if node != replacement_node
41
46
  end
42
47
  end
43
48
  end
@@ -1,16 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  module ActionText
4
- # Returns the currently loaded version of Action Text as a <tt>Gem::Version</tt>.
6
+ # Returns the currently loaded version of Action Text as a `Gem::Version`.
5
7
  def self.gem_version
6
8
  Gem::Version.new VERSION::STRING
7
9
  end
8
10
 
9
11
  module VERSION
10
12
  MAJOR = 7
11
- MINOR = 0
12
- TINY = 8
13
- PRE = "7"
13
+ MINOR = 2
14
+ TINY = 2
15
+ PRE = "1"
14
16
 
15
17
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
18
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  module ActionText
4
6
  module HtmlConversion
5
7
  extend self
@@ -18,7 +20,7 @@ module ActionText
18
20
 
19
21
  private
20
22
  def document
21
- Nokogiri::HTML::Document.new.tap { |doc| doc.encoding = "UTF-8" }
23
+ ActionText.html_document_class.new.tap { |doc| doc.encoding = "UTF-8" }
22
24
  end
23
25
  end
24
26
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  module ActionText
4
6
  module PlainTextConversion
5
7
  extend self
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  require "active_support/concern"
4
6
  require "active_support/core_ext/module/attribute_accessors_per_thread"
5
7
 
@@ -8,12 +10,15 @@ module ActionText
8
10
  extend ActiveSupport::Concern
9
11
 
10
12
  included do
11
- cattr_accessor :default_renderer, instance_accessor: false
12
13
  thread_cattr_accessor :renderer, instance_accessor: false
13
14
  delegate :render, to: :class
14
15
  end
15
16
 
16
17
  class_methods do
18
+ def action_controller_renderer
19
+ @action_controller_renderer ||= Class.new(ActionController::Base).renderer
20
+ end
21
+
17
22
  def with_renderer(renderer)
18
23
  previous_renderer = self.renderer
19
24
  self.renderer = renderer
@@ -23,7 +28,7 @@ module ActionText
23
28
  end
24
29
 
25
30
  def render(*args, &block)
26
- (renderer || default_renderer).render_to_string(*args, &block)
31
+ (renderer || action_controller_renderer).render_to_string(*args, &block)
27
32
  end
28
33
  end
29
34
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  module ActionText
4
6
  module Serialization
5
7
  extend ActiveSupport::Concern
@@ -1,34 +1,37 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  module ActionText
4
6
  module SystemTestHelper
5
7
  # Locates a Trix editor and fills it in with the given HTML.
6
8
  #
7
9
  # The editor can be found by:
8
- # * its +id+
9
- # * its +placeholder+
10
- # * the text from its +label+ element
11
- # * its +aria-label+
12
- # * the +name+ of its input
10
+ # * its `id`
11
+ # * its `placeholder`
12
+ # * the text from its `label` element
13
+ # * its `aria-label`
14
+ # * the `name` of its input
15
+ #
13
16
  #
14
17
  # Examples:
15
18
  #
16
- # # <trix-editor id="message_content" ...></trix-editor>
17
- # fill_in_rich_text_area "message_content", with: "Hello <em>world!</em>"
19
+ # # <trix-editor id="message_content" ...></trix-editor>
20
+ # fill_in_rich_text_area "message_content", with: "Hello <em>world!</em>"
18
21
  #
19
- # # <trix-editor placeholder="Your message here" ...></trix-editor>
20
- # fill_in_rich_text_area "Your message here", with: "Hello <em>world!</em>"
22
+ # # <trix-editor placeholder="Your message here" ...></trix-editor>
23
+ # fill_in_rich_text_area "Your message here", with: "Hello <em>world!</em>"
21
24
  #
22
- # # <label for="message_content">Message content</label>
23
- # # <trix-editor id="message_content" ...></trix-editor>
24
- # fill_in_rich_text_area "Message content", with: "Hello <em>world!</em>"
25
+ # # <label for="message_content">Message content</label>
26
+ # # <trix-editor id="message_content" ...></trix-editor>
27
+ # fill_in_rich_text_area "Message content", with: "Hello <em>world!</em>"
25
28
  #
26
- # # <trix-editor aria-label="Message content" ...></trix-editor>
27
- # fill_in_rich_text_area "Message content", with: "Hello <em>world!</em>"
29
+ # # <trix-editor aria-label="Message content" ...></trix-editor>
30
+ # fill_in_rich_text_area "Message content", with: "Hello <em>world!</em>"
28
31
  #
29
- # # <input id="trix_input_1" name="message[content]" type="hidden">
30
- # # <trix-editor input="trix_input_1"></trix-editor>
31
- # fill_in_rich_text_area "message[content]", with: "Hello <em>world!</em>"
32
+ # # <input id="trix_input_1" name="message[content]" type="hidden">
33
+ # # <trix-editor input="trix_input_1"></trix-editor>
34
+ # fill_in_rich_text_area "message[content]", with: "Hello <em>world!</em>"
32
35
  def fill_in_rich_text_area(locator = nil, with:)
33
36
  find(:rich_text_area, locator).execute_script("this.editor.loadHTML(arguments[0])", with.to_s)
34
37
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  module ActionText
4
6
  class TrixAttachment
5
7
  TAG_NAME = "figure"
@@ -39,10 +41,10 @@ module ActionText
39
41
  end
40
42
 
41
43
  def typecast_attribute_values(attributes)
42
- attributes.map do |key, value|
44
+ attributes.to_h do |key, value|
43
45
  typecast = ATTRIBUTE_TYPES[key] || ATTRIBUTE_TYPES[:default]
44
46
  [key, typecast.call(value)]
45
- end.to_h
47
+ end
46
48
  end
47
49
  end
48
50
 
@@ -1,9 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  require_relative "gem_version"
4
6
 
5
7
  module ActionText
6
- # Returns the currently loaded version of Action Text as a <tt>Gem::Version</tt>.
8
+ # Returns the currently loaded version of Action Text as a `Gem::Version`.
7
9
  def self.version
8
10
  gem_version
9
11
  end
data/lib/action_text.rb CHANGED
@@ -3,8 +3,13 @@
3
3
  require "active_support"
4
4
  require "active_support/rails"
5
5
 
6
+ require "action_text/version"
7
+ require "action_text/deprecator"
8
+
6
9
  require "nokogiri"
7
10
 
11
+ # :markup: markdown
12
+ # :include: ../README.md
8
13
  module ActionText
9
14
  extend ActiveSupport::Autoload
10
15
 
@@ -37,4 +42,18 @@ module ActionText
37
42
  autoload :Minification
38
43
  autoload :TrixConversion
39
44
  end
45
+
46
+ class << self
47
+ def html_document_class
48
+ return @html_document_class if defined?(@html_document_class)
49
+ @html_document_class =
50
+ defined?(Nokogiri::HTML5) ? Nokogiri::HTML5::Document : Nokogiri::HTML4::Document
51
+ end
52
+
53
+ def html_document_fragment_class
54
+ return @html_document_fragment_class if defined?(@html_document_fragment_class)
55
+ @html_document_fragment_class =
56
+ defined?(Nokogiri::HTML5) ? Nokogiri::HTML5::DocumentFragment : Nokogiri::HTML4::DocumentFragment
57
+ end
58
+ end
40
59
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  require "pathname"
4
6
  require "json"
5
7
 
@@ -9,8 +11,10 @@ module ActionText
9
11
  source_root File.expand_path("templates", __dir__)
10
12
 
11
13
  def install_javascript_dependencies
12
- if Pathname(destination_root).join("package.json").exist?
13
- say "Installing JavaScript dependencies", :green
14
+ say "Installing JavaScript dependencies", :green
15
+ if using_bun?
16
+ run "bun add @rails/actiontext trix"
17
+ elsif using_node?
14
18
  run "yarn add @rails/actiontext trix"
15
19
  end
16
20
  end
@@ -19,7 +23,7 @@ module ActionText
19
23
  destination = Pathname(destination_root)
20
24
 
21
25
  if (application_javascript_path = destination.join("app/javascript/application.js")).exist?
22
- insert_into_file application_javascript_path.to_s, %(import "trix"\nimport "@rails/actiontext"\n)
26
+ insert_into_file application_javascript_path.to_s, %(\nimport "trix"\nimport "@rails/actiontext"\n)
23
27
  else
24
28
  say <<~INSTRUCTIONS, :green
25
29
  You must import the @rails/actiontext and trix JavaScript modules in your application entrypoint.
@@ -27,7 +31,7 @@ module ActionText
27
31
  end
28
32
 
29
33
  if (importmap_path = destination.join("config/importmap.rb")).exist?
30
- append_to_file importmap_path.to_s, %(pin "trix"\npin "@rails/actiontext", to: "actiontext.js"\n)
34
+ append_to_file importmap_path.to_s, %(pin "trix"\npin "@rails/actiontext", to: "actiontext.esm.js"\n)
31
35
  end
32
36
  end
33
37
 
@@ -58,7 +62,12 @@ module ActionText
58
62
  def enable_image_processing_gem
59
63
  if (gemfile_path = Pathname(destination_root).join("Gemfile")).exist?
60
64
  say "Ensure image_processing gem has been enabled so image uploads will work (remember to bundle!)"
61
- uncomment_lines gemfile_path, /gem "image_processing"/
65
+ image_processing_regex = /gem ["']image_processing["']/
66
+ if File.readlines(gemfile_path).grep(image_processing_regex).any?
67
+ uncomment_lines gemfile_path, image_processing_regex
68
+ else
69
+ run "bundle add --skip-install image_processing"
70
+ end
62
71
  end
63
72
  end
64
73
 
@@ -66,6 +75,21 @@ module ActionText
66
75
  rails_command "railties:install:migrations FROM=active_storage,action_text", inline: true
67
76
  end
68
77
 
78
+ def using_js_runtime?
79
+ @using_js_runtime ||= Pathname(destination_root).join("package.json").exist?
80
+ end
81
+
82
+ def using_bun?
83
+ # Cannot assume yarn.lock has been generated yet so we look for a file known to
84
+ # be generated by the jsbundling-rails gem
85
+ @using_bun ||= using_js_runtime? && Pathname(destination_root).join("bun.config.js").exist?
86
+ end
87
+
88
+ def using_node?
89
+ # Bun is the only runtime that _isn't_ node.
90
+ @using_node ||= using_js_runtime? && !Pathname(destination_root).join("bun.config.js").exist?
91
+ end
92
+
69
93
  hook_for :test_framework
70
94
  end
71
95
  end
@@ -3,11 +3,7 @@
3
3
  * the trix-editor content (whether displayed or under editing). Feel free to incorporate this
4
4
  * inclusion directly in any other asset bundle and remove this file.
5
5
  *
6
- <%- if defined?(Webpacker::Engine) -%>
7
- *= require trix/dist/trix
8
- <%- else -%>
9
6
  *= require trix
10
- <% end -%>
11
7
  */
12
8
 
13
9
  /*
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :markup: markdown
4
+
3
5
  module TestUnit
4
6
  module Generators
5
7
  class InstallGenerator < ::Rails::Generators::Base
data/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@rails/actiontext",
3
- "version": "7.0.807",
3
+ "version": "7.2.201",
4
4
  "description": "Edit and display rich text in Rails applications",
5
+ "module": "app/assets/javascripts/actiontext.esm.js",
5
6
  "main": "app/assets/javascripts/actiontext.js",
6
- "type": "module",
7
7
  "files": [
8
8
  "app/assets/javascripts/*.js"
9
9
  ],
@@ -15,23 +15,23 @@
15
15
  "bugs": {
16
16
  "url": "https://github.com/rails/rails/issues"
17
17
  },
18
- "author": "Basecamp, LLC",
18
+ "author": "37signals LLC",
19
19
  "contributors": [
20
20
  "Javan Makhmali <javan@javan.us>",
21
21
  "Sam Stephenson <sstephenson@gmail.com>"
22
22
  ],
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
- "@rails/activestorage": ">= 7.0.0-alpha1"
25
+ "@rails/activestorage": ">= 7.2.0-alpha"
26
26
  },
27
27
  "peerDependencies": {
28
- "trix": "^1.3.1"
28
+ "trix": "^2.0.0"
29
29
  },
30
30
  "devDependencies": {
31
- "@rollup/plugin-node-resolve": "^11.0.1",
32
31
  "@rollup/plugin-commonjs": "^19.0.1",
32
+ "@rollup/plugin-node-resolve": "^11.0.1",
33
33
  "rollup": "^2.35.1",
34
- "trix": "^1.3.1"
34
+ "trix": "^2.0.0"
35
35
  },
36
36
  "scripts": {
37
37
  "build": "rollup --config rollup.config.js"
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: 7.0.8.7
4
+ version: 7.2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javan Makhmali
@@ -18,56 +18,56 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 7.0.8.7
21
+ version: 7.2.2.1
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: 7.0.8.7
28
+ version: 7.2.2.1
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: 7.0.8.7
35
+ version: 7.2.2.1
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: 7.0.8.7
42
+ version: 7.2.2.1
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: 7.0.8.7
49
+ version: 7.2.2.1
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: 7.0.8.7
56
+ version: 7.2.2.1
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: 7.0.8.7
63
+ version: 7.2.2.1
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: 7.0.8.7
70
+ version: 7.2.2.1
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: nokogiri
73
73
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +108,7 @@ files:
108
108
  - CHANGELOG.md
109
109
  - MIT-LICENSE
110
110
  - README.md
111
+ - app/assets/javascripts/actiontext.esm.js
111
112
  - app/assets/javascripts/actiontext.js
112
113
  - app/assets/javascripts/trix.js
113
114
  - app/assets/stylesheets/trix.css
@@ -118,6 +119,7 @@ files:
118
119
  - app/models/action_text/encrypted_rich_text.rb
119
120
  - app/models/action_text/record.rb
120
121
  - app/models/action_text/rich_text.rb
122
+ - app/views/action_text/attachables/_content_attachment.html.erb
121
123
  - app/views/action_text/attachables/_missing_attachable.html.erb
122
124
  - app/views/action_text/attachables/_remote_image.html.erb
123
125
  - app/views/action_text/attachment_galleries/_attachment_gallery.html.erb
@@ -137,6 +139,7 @@ files:
137
139
  - lib/action_text/attachments/trix_conversion.rb
138
140
  - lib/action_text/attribute.rb
139
141
  - lib/action_text/content.rb
142
+ - lib/action_text/deprecator.rb
140
143
  - lib/action_text/encryption.rb
141
144
  - lib/action_text/engine.rb
142
145
  - lib/action_text/fixture_set.rb
@@ -160,10 +163,10 @@ licenses:
160
163
  - MIT
161
164
  metadata:
162
165
  bug_tracker_uri: https://github.com/rails/rails/issues
163
- changelog_uri: https://github.com/rails/rails/blob/v7.0.8.7/actiontext/CHANGELOG.md
164
- documentation_uri: https://api.rubyonrails.org/v7.0.8.7/
166
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.2.1/actiontext/CHANGELOG.md
167
+ documentation_uri: https://api.rubyonrails.org/v7.2.2.1/
165
168
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
166
- source_code_uri: https://github.com/rails/rails/tree/v7.0.8.7/actiontext
169
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.2.1/actiontext
167
170
  rubygems_mfa_required: 'true'
168
171
  post_install_message:
169
172
  rdoc_options: []
@@ -173,7 +176,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
173
176
  requirements:
174
177
  - - ">="
175
178
  - !ruby/object:Gem::Version
176
- version: 2.7.0
179
+ version: 3.1.0
177
180
  required_rubygems_version: !ruby/object:Gem::Requirement
178
181
  requirements:
179
182
  - - ">="