actiontext 7.0.8.1 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +43 -124
- data/MIT-LICENSE +1 -1
- data/README.md +2 -2
- data/app/assets/javascripts/actiontext.esm.js +889 -0
- data/app/assets/javascripts/actiontext.js +55 -73
- data/app/assets/javascripts/trix.js +13612 -5170
- data/app/assets/stylesheets/trix.css +67 -30
- data/app/helpers/action_text/content_helper.rb +28 -4
- data/app/helpers/action_text/tag_helper.rb +44 -30
- data/app/models/action_text/encrypted_rich_text.rb +4 -2
- data/app/models/action_text/record.rb +2 -0
- data/app/models/action_text/rich_text.rb +66 -6
- data/app/views/action_text/attachables/_content_attachment.html.erb +3 -0
- data/db/migrate/20180528164100_create_action_text_tables.rb +1 -1
- data/lib/action_text/attachable.rb +71 -5
- data/lib/action_text/attachables/content_attachment.rb +22 -18
- data/lib/action_text/attachables/missing_attachable.rb +19 -3
- data/lib/action_text/attachables/remote_image.rb +2 -0
- data/lib/action_text/attachment.rb +45 -2
- data/lib/action_text/attachment_gallery.rb +2 -0
- data/lib/action_text/attachments/caching.rb +2 -0
- data/lib/action_text/attachments/minification.rb +2 -0
- data/lib/action_text/attachments/trix_conversion.rb +2 -0
- data/lib/action_text/attribute.rb +40 -21
- data/lib/action_text/content.rb +68 -3
- data/lib/action_text/deprecator.rb +9 -0
- data/lib/action_text/encryption.rb +2 -0
- data/lib/action_text/engine.rb +17 -9
- data/lib/action_text/fixture_set.rb +35 -33
- data/lib/action_text/fragment.rb +8 -3
- data/lib/action_text/gem_version.rb +5 -3
- data/lib/action_text/html_conversion.rb +3 -1
- data/lib/action_text/plain_text_conversion.rb +8 -1
- data/lib/action_text/rendering.rb +7 -2
- data/lib/action_text/serialization.rb +2 -0
- data/lib/action_text/system_test_helper.rb +20 -17
- data/lib/action_text/trix_attachment.rb +4 -2
- data/lib/action_text/version.rb +3 -1
- data/lib/action_text.rb +19 -0
- data/lib/generators/action_text/install/install_generator.rb +29 -5
- data/lib/generators/action_text/install/templates/actiontext.css +0 -4
- data/lib/rails/generators/test_unit/install_generator.rb +2 -0
- data/package.json +7 -7
- metadata +21 -18
@@ -1,60 +1,62 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# :markup: markdown
|
4
|
+
|
3
5
|
module ActionText
|
4
|
-
#
|
5
|
-
#
|
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
|
-
#
|
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
|
18
|
+
# Consider an `Article` class:
|
16
19
|
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
+
# class Article < ApplicationRecord
|
21
|
+
# has_rich_text :content
|
22
|
+
# end
|
20
23
|
#
|
21
|
-
# To declare fixture data for the related
|
22
|
-
#
|
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
|
-
#
|
25
|
-
#
|
27
|
+
# first:
|
28
|
+
# title: An Article
|
26
29
|
#
|
27
30
|
# Then declare the ActionText::RichText fixture data in
|
28
|
-
#
|
29
|
-
#
|
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
|
-
#
|
32
|
-
#
|
33
|
-
#
|
34
|
-
#
|
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
|
40
|
-
# HTML.
|
42
|
+
# Fixtures support Action Text attachments as part of their `body` HTML.
|
41
43
|
#
|
42
|
-
#
|
44
|
+
# ### Examples
|
43
45
|
#
|
44
|
-
# For example, consider a second
|
45
|
-
#
|
46
|
+
# For example, consider a second `Article` fixture declared in
|
47
|
+
# `test/fixtures/articles.yml`:
|
46
48
|
#
|
47
|
-
#
|
48
|
-
#
|
49
|
+
# second:
|
50
|
+
# title: Another Article
|
49
51
|
#
|
50
|
-
# You can attach a mention of
|
51
|
-
#
|
52
|
-
# in
|
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
|
-
#
|
55
|
-
#
|
56
|
-
#
|
57
|
-
#
|
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,
|
data/lib/action_text/fragment.rb
CHANGED
@@ -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::
|
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.
|
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
|
-
|
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,15 +1,17 @@
|
|
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
|
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 =
|
12
|
-
TINY =
|
13
|
+
MINOR = 2
|
14
|
+
TINY = 2
|
13
15
|
PRE = "1"
|
14
16
|
|
15
17
|
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
@@ -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
|
-
|
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
|
@@ -63,7 +65,12 @@ module ActionText
|
|
63
65
|
|
64
66
|
def plain_text_for_blockquote_node(node, index)
|
65
67
|
text = plain_text_for_block(node)
|
66
|
-
text.
|
68
|
+
return "“”" if text.blank?
|
69
|
+
|
70
|
+
text = text.dup
|
71
|
+
text.insert(text.rindex(/\S/) + 1, "”")
|
72
|
+
text.insert(text.index(/\S/), "“")
|
73
|
+
text
|
67
74
|
end
|
68
75
|
|
69
76
|
def plain_text_for_li_node(node, index)
|
@@ -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 ||
|
31
|
+
(renderer || action_controller_renderer).render_to_string(*args, &block)
|
27
32
|
end
|
28
33
|
end
|
29
34
|
end
|
@@ -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
|
-
# *
|
9
|
-
# *
|
10
|
-
# *
|
11
|
-
# *
|
12
|
-
# *
|
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
|
-
#
|
17
|
-
#
|
19
|
+
# # <trix-editor id="message_content" ...></trix-editor>
|
20
|
+
# fill_in_rich_text_area "message_content", with: "Hello <em>world!</em>"
|
18
21
|
#
|
19
|
-
#
|
20
|
-
#
|
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
|
-
#
|
23
|
-
#
|
24
|
-
#
|
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
|
-
#
|
27
|
-
#
|
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
|
-
#
|
30
|
-
#
|
31
|
-
#
|
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.
|
44
|
+
attributes.to_h do |key, value|
|
43
45
|
typecast = ATTRIBUTE_TYPES[key] || ATTRIBUTE_TYPES[:default]
|
44
46
|
[key, typecast.call(value)]
|
45
|
-
end
|
47
|
+
end
|
46
48
|
end
|
47
49
|
end
|
48
50
|
|
data/lib/action_text/version.rb
CHANGED
@@ -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
|
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
|
-
|
13
|
-
|
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, %(
|
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
|
-
|
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
|
/*
|
data/package.json
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
2
|
"name": "@rails/actiontext",
|
3
|
-
"version": "7.
|
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": "
|
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.
|
25
|
+
"@rails/activestorage": ">= 7.2.0-alpha"
|
26
26
|
},
|
27
27
|
"peerDependencies": {
|
28
|
-
"trix": "^
|
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": "^
|
34
|
+
"trix": "^2.0.0"
|
35
35
|
},
|
36
36
|
"scripts": {
|
37
37
|
"build": "rollup --config rollup.config.js"
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: actiontext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Javan Makhmali
|
8
8
|
- Sam Stephenson
|
9
9
|
- David Heinemeier Hansson
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-
|
13
|
+
date: 2024-12-10 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: 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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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,12 +163,12 @@ 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.
|
164
|
-
documentation_uri: https://api.rubyonrails.org/v7.
|
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.
|
169
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.2.2.1/actiontext
|
167
170
|
rubygems_mfa_required: 'true'
|
168
|
-
post_install_message:
|
171
|
+
post_install_message:
|
169
172
|
rdoc_options: []
|
170
173
|
require_paths:
|
171
174
|
- lib
|
@@ -173,15 +176,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
173
176
|
requirements:
|
174
177
|
- - ">="
|
175
178
|
- !ruby/object:Gem::Version
|
176
|
-
version:
|
179
|
+
version: 3.1.0
|
177
180
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
178
181
|
requirements:
|
179
182
|
- - ">="
|
180
183
|
- !ruby/object:Gem::Version
|
181
184
|
version: '0'
|
182
185
|
requirements: []
|
183
|
-
rubygems_version: 3.
|
184
|
-
signing_key:
|
186
|
+
rubygems_version: 3.5.22
|
187
|
+
signing_key:
|
185
188
|
specification_version: 4
|
186
189
|
summary: Rich text framework.
|
187
190
|
test_files: []
|