alchemy_cms 5.0.4 → 5.0.8
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.
Potentially problematic release.
This version of alchemy_cms might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +1 -1
- data/CHANGELOG.md +19 -0
- data/alchemy_cms.gemspec +2 -2
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +6 -6
- data/app/helpers/alchemy/pages_helper.rb +1 -1
- data/app/models/alchemy/attachment.rb +1 -1
- data/app/models/alchemy/element.rb +1 -1
- data/app/models/alchemy/node.rb +1 -1
- data/app/models/alchemy/page.rb +1 -1
- data/app/models/alchemy/picture.rb +1 -1
- data/app/views/alchemy/essences/_essence_picture_view.html.erb +3 -3
- data/lib/alchemy/upgrader/five_point_zero.rb +32 -0
- data/lib/alchemy/userstamp.rb +1 -1
- data/lib/alchemy/version.rb +1 -1
- data/lib/generators/alchemy/install/install_generator.rb +2 -1
- data/lib/tasks/alchemy/upgrade.rake +20 -0
- data/package/admin.js +2 -0
- data/package/src/__tests__/i18n.spec.js +23 -0
- data/package/src/i18n.js +1 -3
- data/package.json +1 -1
- metadata +14 -7
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8f7ac2a39b679dbdfce2dff63b5751ea6207aa85e9e3c037a54c60db2519eb2e
         | 
| 4 | 
            +
              data.tar.gz: acef683479517554b1449fbae83b98cd9334a6269b49b253ef0c019ef302e9df
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 255cdc036c8d21e35121fc3a714a5a267ffcdc0339ef96c0c7c38066598fdfcf868272558ef36f63c480e526fef2a1296df5885613ff811a234bec7f04051a17
         | 
| 7 | 
            +
              data.tar.gz: 913f322105840103a4e453c2ed5e6a8b0a363268d678a8e8a20d7fe5d527986242eb1d526ba231cd784ed4b639156e5f0935f38e6070770c4b026c0210c5afd8
         | 
    
        data/.github/workflows/ci.yml
    CHANGED
    
    
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,22 @@ | |
| 1 | 
            +
            ## 5.0.8 (2021-11-17)
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            - Set stampable user_class_name without root identifier ([tvdeyen](https://github.com/tvdeyen))
         | 
| 4 | 
            +
            - Use relative path for tinymce font-face ([tvdeyen](https://github.com/tvdeyen))
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            ## 5.0.7 (2021-10-26)
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            - Make sure to install correct npm package ([tvdeyen](https://github.com/tvdeyen))
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            ## 5.0.6 (2021-09-17)
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            - Use self_and_ancestors in page_active? helper [#2193](https://github.com/AlchemyCMS/alchemy_cms/pull/2193) ([mamhoff](https://github.com/mamhoff))
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            ## 5.0.5 (2021-09-15)
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            - Backport #2115 to v5.0 [#2126](https://github.com/AlchemyCMS/alchemy_cms/pull/2126) ([dbwinger](https://github.com/dbwinger))
         | 
| 17 | 
            +
            - Fixate Dragonfly to < 1.4 [#2122](https://github.com/AlchemyCMS/alchemy_cms/pull/2122) ([tvdeyen](https://github.com/tvdeyen))
         | 
| 18 | 
            +
            - Backport #2114 to v5.0 [#2118](https://github.com/AlchemyCMS/alchemy_cms/pull/2118) ([afdev82](https://github.com/afdev82))
         | 
| 19 | 
            +
             | 
| 1 20 | 
             
            ## 5.0.4 (2021-05-06)
         | 
| 2 21 |  | 
| 3 22 | 
             
            - Use symbols in polymorphic routes for resources [#2087](https://github.com/AlchemyCMS/alchemy_cms/pull/2087) ([tvdeyen](https://github.com/tvdeyen))
         | 
    
        data/alchemy_cms.gemspec
    CHANGED
    
    | @@ -13,7 +13,7 @@ Gem::Specification.new do |gem| | |
| 13 13 | 
             
              gem.summary               = 'A powerful, userfriendly and flexible CMS for Rails'
         | 
| 14 14 | 
             
              gem.description           = 'Alchemy is a powerful, userfriendly and flexible Rails CMS.'
         | 
| 15 15 | 
             
              gem.requirements << 'ImageMagick (libmagick), v6.6 or greater.'
         | 
| 16 | 
            -
              gem.required_ruby_version = ' | 
| 16 | 
            +
              gem.required_ruby_version = '~> 2.3'
         | 
| 17 17 | 
             
              gem.license               = 'BSD New'
         | 
| 18 18 | 
             
              gem.files                 = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/}) }
         | 
| 19 19 | 
             
              gem.require_paths         = ['lib']
         | 
| @@ -23,7 +23,7 @@ Gem::Specification.new do |gem| | |
| 23 23 | 
             
              gem.add_runtime_dependency 'awesome_nested_set',               ['~> 3.1']
         | 
| 24 24 | 
             
              gem.add_runtime_dependency 'cancancan',                        ['>= 2.1', '< 4.0']
         | 
| 25 25 | 
             
              gem.add_runtime_dependency 'coffee-rails',                     ['~> 4.0', '< 5.0']
         | 
| 26 | 
            -
              gem.add_runtime_dependency 'dragonfly',                        ['~> 1.0', '>= 1.0.7']
         | 
| 26 | 
            +
              gem.add_runtime_dependency 'dragonfly',                        ['~> 1.0', '>= 1.0.7', '< 1.4.0']
         | 
| 27 27 | 
             
              gem.add_runtime_dependency 'dragonfly_svg',                    ['~> 0.0.4']
         | 
| 28 28 | 
             
              gem.add_runtime_dependency 'gutentag',                         ['~> 2.2', '>= 2.2.1']
         | 
| 29 29 | 
             
              gem.add_runtime_dependency 'handlebars_assets',                ['~> 0.23']
         | 
| @@ -1566,18 +1566,18 @@ i.mce-i-resize { | |
| 1566 1566 |  | 
| 1567 1567 | 
             
            @font-face {
         | 
| 1568 1568 | 
             
              font-family: 'tinymce';
         | 
| 1569 | 
            -
              src: url('fonts/tinymce.woff') format('woff'),
         | 
| 1570 | 
            -
                   url('fonts/tinymce.ttf') format('truetype'),
         | 
| 1571 | 
            -
                   url('fonts/tinymce.svg#tinymce') format('svg');
         | 
| 1569 | 
            +
              src: url('./fonts/tinymce.woff') format('woff'),
         | 
| 1570 | 
            +
                   url('./fonts/tinymce.ttf') format('truetype'),
         | 
| 1571 | 
            +
                   url('./fonts/tinymce.svg#tinymce') format('svg');
         | 
| 1572 1572 | 
             
              font-weight: normal;
         | 
| 1573 1573 | 
             
              font-style: normal;
         | 
| 1574 1574 | 
             
            }
         | 
| 1575 1575 |  | 
| 1576 1576 | 
             
            @font-face {
         | 
| 1577 1577 | 
             
              font-family: 'tinymce-small';
         | 
| 1578 | 
            -
              src: url('fonts/tinymce-small.woff') format('woff'),
         | 
| 1579 | 
            -
                   url('fonts/tinymce-small.ttf') format('truetype'),
         | 
| 1580 | 
            -
                   url('fonts/tinymce-small.svg#tinymce') format('svg');
         | 
| 1578 | 
            +
              src: url('./fonts/tinymce-small.woff') format('woff'),
         | 
| 1579 | 
            +
                   url('./fonts/tinymce-small.ttf') format('truetype'),
         | 
| 1580 | 
            +
                   url('./fonts/tinymce-small.svg#tinymce') format('svg');
         | 
| 1581 1581 | 
             
              font-weight: normal;
         | 
| 1582 1582 | 
             
              font-style: normal;
         | 
| 1583 1583 | 
             
            }
         | 
| @@ -100,7 +100,7 @@ module Alchemy | |
| 100 100 |  | 
| 101 101 | 
             
                # Returns true if page is in the active branch
         | 
| 102 102 | 
             
                def page_active?(page)
         | 
| 103 | 
            -
                  @_page_ancestors ||=  | 
| 103 | 
            +
                  @_page_ancestors ||= @page.self_and_ancestors.contentpages
         | 
| 104 104 | 
             
                  @_page_ancestors.include?(page)
         | 
| 105 105 | 
             
                end
         | 
| 106 106 |  | 
| @@ -28,7 +28,7 @@ module Alchemy | |
| 28 28 | 
             
                  after_assign { |f| write_attribute(:file_mime_type, f.mime_type) }
         | 
| 29 29 | 
             
                end
         | 
| 30 30 |  | 
| 31 | 
            -
                stampable stamper_class_name: Alchemy. | 
| 31 | 
            +
                stampable stamper_class_name: Alchemy.user_class.name
         | 
| 32 32 |  | 
| 33 33 | 
             
                has_many :essence_files, class_name: "Alchemy::EssenceFile", foreign_key: "attachment_id"
         | 
| 34 34 | 
             
                has_many :contents, through: :essence_files
         | 
| @@ -60,7 +60,7 @@ module Alchemy | |
| 60 60 | 
             
                #
         | 
| 61 61 | 
             
                acts_as_list scope: [:page_id, :fixed, :parent_element_id]
         | 
| 62 62 |  | 
| 63 | 
            -
                stampable stamper_class_name: Alchemy. | 
| 63 | 
            +
                stampable stamper_class_name: Alchemy.user_class.name
         | 
| 64 64 |  | 
| 65 65 | 
             
                has_many :contents, dependent: :destroy, inverse_of: :element
         | 
| 66 66 |  | 
    
        data/app/models/alchemy/node.rb
    CHANGED
    
    | @@ -7,7 +7,7 @@ module Alchemy | |
| 7 7 | 
             
                before_destroy :check_if_related_essence_nodes_present
         | 
| 8 8 |  | 
| 9 9 | 
             
                acts_as_nested_set scope: "language_id", touch: true
         | 
| 10 | 
            -
                stampable stamper_class_name: Alchemy. | 
| 10 | 
            +
                stampable stamper_class_name: Alchemy.user_class.name
         | 
| 11 11 |  | 
| 12 12 | 
             
                belongs_to :language, class_name: "Alchemy::Language"
         | 
| 13 13 | 
             
                belongs_to :page, class_name: "Alchemy::Page", optional: true, inverse_of: :nodes
         | 
    
        data/app/models/alchemy/page.rb
    CHANGED
    
    
| @@ -93,7 +93,7 @@ module Alchemy | |
| 93 93 | 
             
                  case_sensitive: false,
         | 
| 94 94 | 
             
                  message: Alchemy.t("not a valid image")
         | 
| 95 95 |  | 
| 96 | 
            -
                stampable stamper_class_name: Alchemy. | 
| 96 | 
            +
                stampable stamper_class_name: Alchemy.user_class.name
         | 
| 97 97 |  | 
| 98 98 | 
             
                scope :named, ->(name) { where("#{table_name}.name LIKE ?", "%#{name}%") }
         | 
| 99 99 | 
             
                scope :recent, -> { where("#{table_name}.created_at > ?", Time.current - 24.hours).order(:created_at) }
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            <% content = local_assigns[:content] || local_assigns[:essence_picture_view] %>
         | 
| 2 2 | 
             
            <%= Alchemy::EssencePictureView.new(
         | 
| 3 3 | 
             
              content,
         | 
| 4 | 
            -
              local_assigns[:options],
         | 
| 5 | 
            -
              local_assigns[:html_options]
         | 
| 6 | 
            -
            ).render %>
         | 
| 4 | 
            +
              local_assigns[:options] || {},
         | 
| 5 | 
            +
              local_assigns[:html_options] || {}
         | 
| 6 | 
            +
            ).render %>
         | 
| @@ -1,9 +1,19 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            require_relative "tasks/harden_gutentag_migrations"
         | 
| 4 | 
            +
            require "rails/generators"
         | 
| 5 | 
            +
            require "thor"
         | 
| 6 | 
            +
            require "alchemy/install/tasks"
         | 
| 7 | 
            +
            require "alchemy/version"
         | 
| 4 8 |  | 
| 5 9 | 
             
            module Alchemy
         | 
| 6 10 | 
             
              class Upgrader::FivePointZero < Upgrader
         | 
| 11 | 
            +
                include Rails::Generators::Actions
         | 
| 12 | 
            +
                include Thor::Base
         | 
| 13 | 
            +
                include Thor::Actions
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                source_root File.expand_path("../../generators/alchemy/install/files", __dir__)
         | 
| 16 | 
            +
             | 
| 7 17 | 
             
                class << self
         | 
| 8 18 | 
             
                  def install_gutentag_migrations
         | 
| 9 19 | 
             
                    desc "Install Gutentag migrations"
         | 
| @@ -36,6 +46,28 @@ module Alchemy | |
| 36 46 | 
             
                      log "Root page not found.", :skip
         | 
| 37 47 | 
             
                    end
         | 
| 38 48 | 
             
                  end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                  def run_webpacker_installer
         | 
| 51 | 
            +
                    # Webpacker does not create a package.json, but we need one
         | 
| 52 | 
            +
                    unless File.exist? app_root.join("package.json")
         | 
| 53 | 
            +
                      in_root { run "echo '{}' > package.json" }
         | 
| 54 | 
            +
                    end
         | 
| 55 | 
            +
                    new.rake("webpacker:install", abort_on_failure: true)
         | 
| 56 | 
            +
                  end
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                  def add_npm_package
         | 
| 59 | 
            +
                    new.run "yarn add @alchemy_cms/admin@~#{Alchemy.version}"
         | 
| 60 | 
            +
                  end
         | 
| 61 | 
            +
             | 
| 62 | 
            +
                  def copy_alchemy_entry_point
         | 
| 63 | 
            +
                    webpack_config = YAML.load_file(app_root.join("config", "webpacker.yml"))[Rails.env]
         | 
| 64 | 
            +
                    new.copy_file "alchemy_admin.js",
         | 
| 65 | 
            +
                      app_root.join(webpack_config["source_path"], webpack_config["source_entry_path"], "alchemy/admin.js")
         | 
| 66 | 
            +
                  end
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                  def app_root
         | 
| 69 | 
            +
                    @_app_root ||= Rails.root
         | 
| 70 | 
            +
                  end
         | 
| 39 71 | 
             
                end
         | 
| 40 72 | 
             
              end
         | 
| 41 73 | 
             
            end
         | 
    
        data/lib/alchemy/userstamp.rb
    CHANGED
    
    
    
        data/lib/alchemy/version.rb
    CHANGED
    
    
| @@ -1,6 +1,7 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 | 
             
            require "rails/generators"
         | 
| 3 3 | 
             
            require "alchemy/install/tasks"
         | 
| 4 | 
            +
            require "alchemy/version"
         | 
| 4 5 |  | 
| 5 6 | 
             
            module Alchemy
         | 
| 6 7 | 
             
              module Generators
         | 
| @@ -88,7 +89,7 @@ module Alchemy | |
| 88 89 | 
             
                  end
         | 
| 89 90 |  | 
| 90 91 | 
             
                  def add_npm_package
         | 
| 91 | 
            -
                    run "yarn add @alchemy_cms/admin"
         | 
| 92 | 
            +
                    run "yarn add @alchemy_cms/admin@~#{Alchemy.version}"
         | 
| 92 93 | 
             
                  end
         | 
| 93 94 |  | 
| 94 95 | 
             
                  def copy_alchemy_entry_point
         | 
| @@ -42,6 +42,9 @@ namespace :alchemy do | |
| 42 42 | 
             
                    "alchemy:upgrade:5.0:install_gutentag_migrations",
         | 
| 43 43 | 
             
                    "alchemy:upgrade:5.0:remove_layout_roots",
         | 
| 44 44 | 
             
                    "alchemy:upgrade:5.0:remove_root_page",
         | 
| 45 | 
            +
                    "alchemy:upgrade:5.0:run_webpacker_installer",
         | 
| 46 | 
            +
                    "alchemy:upgrade:5.0:add_npm_package",
         | 
| 47 | 
            +
                    "alchemy:upgrade:5.0:copy_alchemy_entry_point",
         | 
| 45 48 | 
             
                  ]
         | 
| 46 49 |  | 
| 47 50 | 
             
                  desc "Install Gutentag migrations"
         | 
| @@ -58,6 +61,23 @@ namespace :alchemy do | |
| 58 61 | 
             
                  task remove_root_page: [:environment] do
         | 
| 59 62 | 
             
                    Alchemy::Upgrader::FivePointZero.remove_root_page
         | 
| 60 63 | 
             
                  end
         | 
| 64 | 
            +
             | 
| 65 | 
            +
                  desc "Run webpacker installer"
         | 
| 66 | 
            +
                  task run_webpacker_installer: [:environment] do
         | 
| 67 | 
            +
                    Alchemy::Upgrader::FivePointZero.run_webpacker_installer
         | 
| 68 | 
            +
                  end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                  desc "Add NPM package"
         | 
| 71 | 
            +
                  task add_npm_package: [:environment] do
         | 
| 72 | 
            +
                    puts "adding npm_package..."
         | 
| 73 | 
            +
                    Alchemy::Upgrader::FivePointZero.add_npm_package
         | 
| 74 | 
            +
                  end
         | 
| 75 | 
            +
             | 
| 76 | 
            +
                  desc "Copy alchemy entry point"
         | 
| 77 | 
            +
                  task copy_alchemy_entry_point: [:environment] do
         | 
| 78 | 
            +
                    puts "copying alchemy entry point"
         | 
| 79 | 
            +
                    Alchemy::Upgrader::FivePointZero.copy_alchemy_entry_point
         | 
| 80 | 
            +
                  end
         | 
| 61 81 | 
             
                end
         | 
| 62 82 | 
             
              end
         | 
| 63 83 | 
             
            end
         | 
    
        data/package/admin.js
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            import translate from "./src/i18n"
         | 
| 2 | 
            +
            import translationData from "./src/translations"
         | 
| 2 3 | 
             
            import NodeTree from "./src/node_tree"
         | 
| 3 4 |  | 
| 4 5 | 
             
            // Global Alchemy object
         | 
| @@ -10,5 +11,6 @@ if (typeof window.Alchemy === "undefined") { | |
| 10 11 | 
             
            Object.assign(Alchemy, {
         | 
| 11 12 | 
             
              // Global utility method for translating a given string
         | 
| 12 13 | 
             
              t: translate,
         | 
| 14 | 
            +
              translations: Object.assign(Alchemy.translations || {}, translationData),
         | 
| 13 15 | 
             
              NodeTree
         | 
| 14 16 | 
             
            })
         | 
| @@ -15,12 +15,20 @@ describe("translate", () => { | |
| 15 15 | 
             
                })
         | 
| 16 16 |  | 
| 17 17 | 
             
                describe("if translation is present", () => {
         | 
| 18 | 
            +
                  beforeEach(() => {
         | 
| 19 | 
            +
                    Alchemy.translations = { en: { help: "Help" } }
         | 
| 20 | 
            +
                  })
         | 
| 21 | 
            +
             | 
| 18 22 | 
             
                  it("Returns translated string", () => {
         | 
| 19 23 | 
             
                    expect(translate("help")).toEqual("Help")
         | 
| 20 24 | 
             
                  })
         | 
| 21 25 |  | 
| 22 26 | 
             
                  describe("if key includes a period", () => {
         | 
| 23 27 | 
             
                    describe("that is translated", () => {
         | 
| 28 | 
            +
                      beforeEach(() => {
         | 
| 29 | 
            +
                        Alchemy.translations = { en: { formats: { date: "Y-m-d" } } }
         | 
| 30 | 
            +
                      })
         | 
| 31 | 
            +
             | 
| 24 32 | 
             
                      it("splits into group", () => {
         | 
| 25 33 | 
             
                        expect(translate("formats.date")).toEqual("Y-m-d")
         | 
| 26 34 | 
             
                      })
         | 
| @@ -40,6 +48,10 @@ describe("translate", () => { | |
| 40 48 | 
             
                  })
         | 
| 41 49 |  | 
| 42 50 | 
             
                  describe("if replacement is given", () => {
         | 
| 51 | 
            +
                    beforeEach(() => {
         | 
| 52 | 
            +
                      Alchemy.translations = { en: { allowed_chars: "of %{number} chars" } }
         | 
| 53 | 
            +
                    })
         | 
| 54 | 
            +
             | 
| 43 55 | 
             
                    it("replaces it", () => {
         | 
| 44 56 | 
             
                      expect(translate("allowed_chars", 5)).toEqual("of 5 chars")
         | 
| 45 57 | 
             
                    })
         | 
| @@ -67,4 +79,15 @@ describe("translate", () => { | |
| 67 79 | 
             
                  spy.mockRestore()
         | 
| 68 80 | 
             
                })
         | 
| 69 81 | 
             
              })
         | 
| 82 | 
            +
             | 
| 83 | 
            +
              describe("if Alchemy.translations is not set", () => {
         | 
| 84 | 
            +
                it("Returns passed string and logs a warning", () => {
         | 
| 85 | 
            +
                  const spy = jest.spyOn(console, "warn").mockImplementation(() => {})
         | 
| 86 | 
            +
                  expect(translate("help")).toEqual("help")
         | 
| 87 | 
            +
                  expect(spy.mock.calls).toEqual([
         | 
| 88 | 
            +
                    ["Translations for locale kl not found!"]
         | 
| 89 | 
            +
                  ])
         | 
| 90 | 
            +
                  spy.mockRestore()
         | 
| 91 | 
            +
                })
         | 
| 92 | 
            +
              })
         | 
| 70 93 | 
             
            })
         | 
    
        data/package/src/i18n.js
    CHANGED
    
    | @@ -1,5 +1,3 @@ | |
| 1 | 
            -
            import translationData from "./translations"
         | 
| 2 | 
            -
             | 
| 3 1 | 
             
            const KEY_SEPARATOR = /\./
         | 
| 4 2 |  | 
| 5 3 | 
             
            function currentLocale() {
         | 
| @@ -11,7 +9,7 @@ function currentLocale() { | |
| 11 9 |  | 
| 12 10 | 
             
            function getTranslations() {
         | 
| 13 11 | 
             
              const locale = currentLocale()
         | 
| 14 | 
            -
              const translations =  | 
| 12 | 
            +
              const translations = Alchemy.translations && Alchemy.translations[locale]
         | 
| 15 13 |  | 
| 16 14 | 
             
              if (translations) {
         | 
| 17 15 | 
             
                return translations
         | 
    
        data/package.json
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: alchemy_cms
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 5.0. | 
| 4 | 
            +
              version: 5.0.8
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Thomas von Deyen
         | 
| @@ -10,10 +10,10 @@ authors: | |
| 10 10 | 
             
            - Hendrik Mans
         | 
| 11 11 | 
             
            - Carsten Fregin
         | 
| 12 12 | 
             
            - Martin Meyerhoff
         | 
| 13 | 
            -
            autorequire: | 
| 13 | 
            +
            autorequire:
         | 
| 14 14 | 
             
            bindir: bin
         | 
| 15 15 | 
             
            cert_chain: []
         | 
| 16 | 
            -
            date: 2021- | 
| 16 | 
            +
            date: 2021-11-17 00:00:00.000000000 Z
         | 
| 17 17 | 
             
            dependencies:
         | 
| 18 18 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 19 19 | 
             
              name: active_model_serializers
         | 
| @@ -113,6 +113,9 @@ dependencies: | |
| 113 113 | 
             
                - - ">="
         | 
| 114 114 | 
             
                  - !ruby/object:Gem::Version
         | 
| 115 115 | 
             
                    version: 1.0.7
         | 
| 116 | 
            +
                - - "<"
         | 
| 117 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 118 | 
            +
                    version: 1.4.0
         | 
| 116 119 | 
             
              type: :runtime
         | 
| 117 120 | 
             
              prerelease: false
         | 
| 118 121 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -123,6 +126,9 @@ dependencies: | |
| 123 126 | 
             
                - - ">="
         | 
| 124 127 | 
             
                  - !ruby/object:Gem::Version
         | 
| 125 128 | 
             
                    version: 1.0.7
         | 
| 129 | 
            +
                - - "<"
         | 
| 130 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 131 | 
            +
                    version: 1.4.0
         | 
| 126 132 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 127 133 | 
             
              name: dragonfly_svg
         | 
| 128 134 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -1258,9 +1264,9 @@ require_paths: | |
| 1258 1264 | 
             
            - lib
         | 
| 1259 1265 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 1260 1266 | 
             
              requirements:
         | 
| 1261 | 
            -
              - - " | 
| 1267 | 
            +
              - - "~>"
         | 
| 1262 1268 | 
             
                - !ruby/object:Gem::Version
         | 
| 1263 | 
            -
                  version: 2.3 | 
| 1269 | 
            +
                  version: '2.3'
         | 
| 1264 1270 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 1265 1271 | 
             
              requirements:
         | 
| 1266 1272 | 
             
              - - ">="
         | 
| @@ -1268,8 +1274,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 1268 1274 | 
             
                  version: '0'
         | 
| 1269 1275 | 
             
            requirements:
         | 
| 1270 1276 | 
             
            - ImageMagick (libmagick), v6.6 or greater.
         | 
| 1271 | 
            -
            rubygems_version: 3.1. | 
| 1272 | 
            -
            signing_key: | 
| 1277 | 
            +
            rubygems_version: 3.1.6
         | 
| 1278 | 
            +
            signing_key:
         | 
| 1273 1279 | 
             
            specification_version: 4
         | 
| 1274 1280 | 
             
            summary: A powerful, userfriendly and flexible CMS for Rails
         | 
| 1275 1281 | 
             
            test_files: []
         | 
| 1282 | 
            +
            ...
         |