actiontext 6.0.0.beta3 → 6.0.0.rc1
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 +5 -0
- data/app/helpers/action_text/content_helper.rb +16 -9
- data/lib/action_text/attachable.rb +4 -0
- data/lib/action_text/attribute.rb +3 -6
- data/lib/action_text/gem_version.rb +1 -1
- data/lib/templates/installer.rb +13 -0
- data/package.json +1 -1
- metadata +12 -12
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: dbf2331abf6f5c5afd25499c2ef99c95e09c1030ba5e5c228bb10b0a1b38b38d
         | 
| 4 | 
            +
              data.tar.gz: d275794dde9187e578303f1993307da788faf98ce8055f5512dbb197c2d2d748
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: bf2cf3e7c6f2868ed749e81ea51981d58753635e57b3a1cedba941e98b8fc22787ffc8d023f5c095f07993b1edc75ef454aad556586561f305bbb5069f52292f
         | 
| 7 | 
            +
              data.tar.gz: f8747d2ca2eed60dcc99734b86a984018153a0c1cac1b05e4da8e2f820c40154351096ac655e7d527dc5c2111b7ce8072a58ae7a757271a3e6a3816f39447a6f
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
| @@ -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 | 
            -
                 | 
| 6 | 
            -
                 | 
| 7 | 
            -
                 | 
| 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 | 
| 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 | 
            -
                         | 
| 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) }, | 
| 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
         | 
    
        data/lib/templates/installer.rb
    CHANGED
    
    | @@ -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
         | 
    
        data/package.json
    CHANGED
    
    
    
        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. | 
| 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- | 
| 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. | 
| 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. | 
| 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. | 
| 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. | 
| 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. | 
| 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. | 
| 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. | 
| 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. | 
| 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. | 
| 138 | 
            -
              changelog_uri: https://github.com/rails/rails/blob/v6.0.0. | 
| 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:
         |