alchemy_cms 6.0.0.b3 → 6.0.0.pre.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +4 -3
  3. data/CHANGELOG.md +22 -0
  4. data/Gemfile +1 -1
  5. data/README.md +15 -3
  6. data/Rakefile +37 -23
  7. data/alchemy_cms.gemspec +1 -1
  8. data/app/assets/stylesheets/alchemy/fonts.scss +0 -0
  9. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.svg +0 -0
  10. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.ttf +0 -0
  11. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.woff +0 -0
  12. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.svg +0 -0
  13. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.ttf +0 -0
  14. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.woff +0 -0
  15. data/app/assets/stylesheets/tinymce/skins/alchemy/img/anchor.gif +0 -0
  16. data/app/assets/stylesheets/tinymce/skins/alchemy/img/loader.gif +0 -0
  17. data/app/assets/stylesheets/tinymce/skins/alchemy/img/object.gif +0 -0
  18. data/app/assets/stylesheets/tinymce/skins/alchemy/img/trans.gif +0 -0
  19. data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +0 -0
  20. data/app/controllers/alchemy/admin/elements_controller.rb +8 -4
  21. data/app/helpers/alchemy/elements_block_helper.rb +6 -0
  22. data/app/models/alchemy/element/presenters.rb +9 -2
  23. data/app/models/alchemy/element.rb +0 -14
  24. data/app/models/alchemy/ingredient.rb +0 -5
  25. data/app/models/alchemy/page/page_natures.rb +1 -10
  26. data/app/models/alchemy/page.rb +3 -3
  27. data/app/models/alchemy/page_version.rb +1 -1
  28. data/app/views/alchemy/admin/elements/update.js.erb +1 -1
  29. data/app/views/alchemy/admin/pages/edit.html.erb +1 -1
  30. data/lib/alchemy/test_support/shared_ingredient_examples.rb +0 -1
  31. data/lib/alchemy/tinymce.rb +4 -0
  32. data/lib/alchemy/version.rb +1 -1
  33. data/package.json +1 -1
  34. metadata +19 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8fcd022eba5fdba4ce96cfe4971344ced0191b6d12d9cbd7bad923b07b7359a
4
- data.tar.gz: 9dfbf5f590c6c2e8d562bf81daeb8faf3a1358f5f46aeb8857adef4d48fd6181
3
+ metadata.gz: 8c2e459c0097bf27f22b10ef62a2daf9b6b00c9d27a5a7062a580a0ce40fd288
4
+ data.tar.gz: 79dcef9fe37b902dcbdaba9eafacca27e772660b297953a0f3cfefc076fc4719
5
5
  SHA512:
6
- metadata.gz: 82cc3e7f0c3b0e8fb8a4d2219d8237d66db02275b878951be1fcc0d12f9a7fdd750415ad45b5af03a05e6abce298c718551541dc80774c689b395d758d39d942
7
- data.tar.gz: 665d8a15204e872ab41867e1466c4611fec7c46f83d862669c89d3e5c3038f30fa1dfb45fb56d227a71b92c945a9c45de9a5d887bbb726af9d49b5c87121d2c9
6
+ metadata.gz: ae3cca3894448880c1c86a63585b104a04fdeba14be7e9160451bc91a64993f2ff50080d87be5b2be487734fa4267358d0ce263da352a6005f1d8264919670bf
7
+ data.tar.gz: 74e9ad0b8e7242349d3be0b0e1abe54a4fbd73a7fbb17beac177faa332df98d25f0d0302868c5771b3d04a7f2da81257a7639e04739d7ef462f9d04c86ca449f
@@ -10,10 +10,11 @@ jobs:
10
10
  matrix:
11
11
  rails:
12
12
  - '6.0'
13
+ - '6.1'
13
14
  ruby:
14
- - '2.6.6'
15
- - '2.7.2'
16
- - '3.0.0'
15
+ - '2.6.8'
16
+ - '2.7.4'
17
+ - '3.0.2'
17
18
  database:
18
19
  - mysql
19
20
  - postgresql
data/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## 6.0.0-rc1 (2021-09-12)
2
+
3
+ - Allow Rails 6.1 [#2047](https://github.com/AlchemyCMS/alchemy_cms/pull/2047) ([robinboening](https://github.com/robinboening))
4
+
5
+ ## 6.0.0-b6 (2021-09-02)
6
+
7
+ - Fix element with ingredients preview text [#2187](https://github.com/AlchemyCMS/alchemy_cms/pull/2187) ([tvdeyen](https://github.com/tvdeyen))
8
+ - Do not validate element during toggle fold and create [#2186](https://github.com/AlchemyCMS/alchemy_cms/pull/2186) ([tvdeyen](https://github.com/tvdeyen))
9
+ ## 6.0.0-b5 (2021-08-27)
10
+
11
+ - Remove spec that tests default data store value [#2184](https://github.com/AlchemyCMS/alchemy_cms/pull/2184) ([tvdeyen](https://github.com/tvdeyen))
12
+ - Remove data store accessor from ingredient base class [#2183](https://github.com/AlchemyCMS/alchemy_cms/pull/2183) ([tvdeyen](https://github.com/tvdeyen))
13
+
14
+ ## 6.0.0-b4 (2021-08-27)
15
+
16
+ - Load custom Tinymce config for ingredients [#2182](https://github.com/AlchemyCMS/alchemy_cms/pull/2182) ([tvdeyen](https://github.com/tvdeyen))
17
+ - Fix ingredient editor selector in element update callback [#2181](https://github.com/AlchemyCMS/alchemy_cms/pull/2181) ([tvdeyen](https://github.com/tvdeyen))
18
+ - Ingredient by role block level helper [#2180](https://github.com/AlchemyCMS/alchemy_cms/pull/2180) ([tvdeyen](https://github.com/tvdeyen))
19
+ - Fixes caching [#2179](https://github.com/AlchemyCMS/alchemy_cms/pull/2179) ([tvdeyen](https://github.com/tvdeyen))
20
+ - make images non-executable [#2176](https://github.com/AlchemyCMS/alchemy_cms/pull/2176) ([mensfeld](https://github.com/mensfeld))
21
+ - Release task [#2173](https://github.com/AlchemyCMS/alchemy_cms/pull/2173) ([tvdeyen](https://github.com/tvdeyen))
22
+
1
23
  ## 6.0.0.b3 (2021-08-12)
2
24
 
3
25
  ### Fixes
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source "https://rubygems.org"
3
3
 
4
4
  gemspec
5
5
 
6
- rails_version = ENV.fetch("RAILS_VERSION", 6.0).to_f
6
+ rails_version = ENV.fetch("RAILS_VERSION", 6.1).to_f
7
7
  gem "rails", "~> #{rails_version}.0"
8
8
 
9
9
  if ENV["DB"].nil? || ENV["DB"] == "sqlite"
data/README.md CHANGED
@@ -18,7 +18,7 @@ Alchemy is an open source CMS engine written in Ruby on Rails.
18
18
 
19
19
  Read more about Alchemy on the [website](https://alchemy-cms.com) and in the [guidelines](https://guides.alchemy-cms.com).
20
20
 
21
- **CAUTION: This main branch is a development branch that *can* contain bugs. For productive environments you should use the [current Ruby gem version](https://rubygems.org/gems/alchemy_cms), or the [latest stable branch (5.0-stable)](https://github.com/AlchemyCMS/alchemy_cms/tree/5.0-stable).**
21
+ **CAUTION: This main branch is a development branch that *can* contain bugs. For productive environments you should use the [current Ruby gem version](https://rubygems.org/gems/alchemy_cms), or the [latest stable branch (5.2-stable)](https://github.com/AlchemyCMS/alchemy_cms/tree/5.2-stable).**
22
22
 
23
23
 
24
24
  ## ✅ Features
@@ -339,6 +339,10 @@ $ bin/rails s
339
339
 
340
340
  ## 📦 Releasing
341
341
 
342
+ ### Bump version
343
+
344
+ Bump the version number in both `lib/alchemy/version.rb` and `./package.json`. Make sure both are exactly the same and follow [SemVer format](https://semver.org/#semantic-versioning-specification-semver).
345
+
342
346
  ### Update the changelog
343
347
 
344
348
  ```bash
@@ -346,12 +350,20 @@ $ export GITHUB_ACCESS_TOKEN=...
346
350
  $ PREVIOUS_VERSION=4.1.0 bundle exec rake alchemy:changelog:update
347
351
  ```
348
352
 
349
- ### Release a new version
353
+ ### Commit version bump
350
354
 
351
355
  ```bash
352
- $ bundle exec rake release
356
+ $ git commit -am "Bump version to vX.Y.Z"
353
357
  ```
354
358
 
359
+ ### Release a new version
360
+
361
+ This task will publish both the ruby gem and the npm package.
362
+ It also tags the latest commit.
363
+
364
+ ```bash
365
+ $ bundle exec rake alchemy:release
366
+ ```
355
367
 
356
368
  ## ❓Getting Help
357
369
 
data/Rakefile CHANGED
@@ -1,37 +1,37 @@
1
1
  begin
2
- require 'bundler/setup'
2
+ require "bundler/setup"
3
3
  rescue LoadError
4
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
4
+ puts "You must `gem install bundler` and `bundle install` to run rake tasks"
5
5
  end
6
6
 
7
7
  begin
8
- require 'rdoc/task'
8
+ require "rdoc/task"
9
9
  rescue LoadError
10
- require 'rdoc/rdoc'
11
- require 'rake/rdoctask'
10
+ require "rdoc/rdoc"
11
+ require "rake/rdoctask"
12
12
  RDoc::Task = Rake::RDocTask
13
13
  end
14
14
 
15
- desc 'Generate documentation for Alchemy CMS.'
15
+ desc "Generate documentation for Alchemy CMS."
16
16
  RDoc::Task.new(:rdoc) do |rdoc|
17
- rdoc.rdoc_dir = 'rdoc'
18
- rdoc.title = 'Alchemy CMS'
19
- rdoc.options << '--line-numbers' << '--inline-source'
20
- rdoc.rdoc_files.include('README.md')
21
- rdoc.rdoc_files.include('config/alchemy/*.yml')
22
- rdoc.rdoc_files.include('lib/**/*.rb')
23
- rdoc.rdoc_files.include('app/**/*.rb')
17
+ rdoc.rdoc_dir = "rdoc"
18
+ rdoc.title = "Alchemy CMS"
19
+ rdoc.options << "--line-numbers" << "--inline-source"
20
+ rdoc.rdoc_files.include("README.md")
21
+ rdoc.rdoc_files.include("config/alchemy/*.yml")
22
+ rdoc.rdoc_files.include("lib/**/*.rb")
23
+ rdoc.rdoc_files.include("app/**/*.rb")
24
24
  end
25
25
 
26
- APP_RAKEFILE = File.expand_path('spec/dummy/Rakefile', __dir__)
27
- load 'rails/tasks/engine.rake'
26
+ APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
27
+ load "rails/tasks/engine.rake"
28
28
 
29
- require 'rspec/core'
30
- require 'rspec/core/rake_task'
29
+ require "rspec/core"
30
+ require "rspec/core/rake_task"
31
31
 
32
32
  RSpec::Core::RakeTask.new(:spec)
33
33
 
34
- task default: ['alchemy:spec:prepare', :spec]
34
+ task default: ["alchemy:spec:prepare", :spec]
35
35
 
36
36
  Bundler::GemHelper.install_tasks
37
37
 
@@ -56,11 +56,11 @@ namespace :alchemy do
56
56
  namespace :changelog do
57
57
  desc "Update CHANGELOG from GitHub (Set GITHUB_ACCESS_TOKEN and PREVIOUS_VERSION to a version you want to write changelog changes for)"
58
58
  task :update do
59
- original_file = './CHANGELOG.md'
60
- new_file = original_file + '.new'
61
- backup = original_file + '.old'
62
- changes = `git rev-list v#{ENV['PREVIOUS_VERSION']}..HEAD | bundle exec github_fast_changelog AlchemyCMS/alchemy_cms`
63
- File.open(new_file, 'w') do |fo|
59
+ original_file = "./CHANGELOG.md"
60
+ new_file = original_file + ".new"
61
+ backup = original_file + ".old"
62
+ changes = `git rev-list v#{ENV["PREVIOUS_VERSION"]}..HEAD | bundle exec github_fast_changelog AlchemyCMS/alchemy_cms`
63
+ File.open(new_file, "w") do |fo|
64
64
  fo.puts changes
65
65
  File.foreach(original_file) do |li|
66
66
  fo.puts li
@@ -72,4 +72,18 @@ namespace :alchemy do
72
72
  File.delete(backup)
73
73
  end
74
74
  end
75
+
76
+ desc "Release a new Ruby gem and npm package in one command"
77
+ task :release do
78
+ require "json"
79
+ require_relative "lib/alchemy/version"
80
+ package = File.read("package.json")
81
+ unless JSON.parse(package)["version"] == Alchemy.version
82
+ abort "Ruby gem and npm package versions are out of sync! Please fix."
83
+ end
84
+ # Release the Ruby gem with bundler
85
+ Rake::Task["release"].invoke
86
+ # Publish npm package via CLI
87
+ system "npm publish"
88
+ end
75
89
  end
data/alchemy_cms.gemspec CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |gem|
29
29
  activesupport
30
30
  railties
31
31
  ].each do |rails_gem|
32
- gem.add_runtime_dependency rails_gem, [">= 6.0", "< 6.1"]
32
+ gem.add_runtime_dependency rails_gem, [">= 6.0", "< 6.2"]
33
33
  end
34
34
 
35
35
  gem.add_runtime_dependency "active_model_serializers", ["~> 0.10.0"]
File without changes
@@ -32,14 +32,14 @@ module Alchemy
32
32
  if @paste_from_clipboard = params[:paste_from_clipboard].present?
33
33
  @element = paste_element_from_clipboard
34
34
  else
35
- @element = Element.create(create_element_params)
35
+ @element = Element.new(create_element_params)
36
36
  end
37
37
  if @page.definition["insert_elements_at"] == "top"
38
38
  @insert_at_top = true
39
- @element.move_to_top
39
+ @element.position = 1
40
40
  end
41
41
  end
42
- if @element.valid?
42
+ if @element.save
43
43
  render :create
44
44
  else
45
45
  @element.page_version = @page_version
@@ -91,10 +91,14 @@ module Alchemy
91
91
  end
92
92
  end
93
93
 
94
+ # Toggle fodls the element and persists the state in the db
95
+ #
96
+ # Ingredient validations might make the element invalid.
97
+ # In this case we are just toggling a UI state and do not care about the validations.
94
98
  def fold
95
99
  @page = @element.page
96
100
  @element.folded = !@element.folded
97
- @element.save
101
+ @element.save(validate: false)
98
102
  end
99
103
 
100
104
  private
@@ -77,6 +77,12 @@ module Alchemy
77
77
  end
78
78
 
79
79
  deprecate essence: "Use `ingredient_by_role` instead", deprecator: Alchemy::Deprecation
80
+
81
+ # Return's the ingredient record by given role.
82
+ #
83
+ def ingredient_by_role(role)
84
+ element.ingredient_by_role(role)
85
+ end
80
86
  end
81
87
 
82
88
  # Block-level helper for element views. Constructs a DOM element wrapping
@@ -99,12 +99,12 @@ module Alchemy
99
99
  # The ingredient that's used for element's preview text.
100
100
  #
101
101
  # It tries to find one of element's ingredients that is defined +as_element_title+.
102
- # Takes element's first ingredient if no ingredient is defined +as_element_title+.
102
+ # Takes element's first defined ingredient if no ingredient is defined +as_element_title+.
103
103
  #
104
104
  # @return (Alchemy::Ingredient)
105
105
  #
106
106
  def preview_ingredient
107
- @_preview_ingredient ||= ingredients.detect(&:preview_ingredient?) || ingredients.first
107
+ @_preview_ingredient ||= ingredients.detect(&:preview_ingredient?) || first_ingredient_by_definition
108
108
  end
109
109
 
110
110
  private
@@ -122,6 +122,13 @@ module Alchemy
122
122
  def preview_text_from_preview_ingredient(maxlength)
123
123
  preview_ingredient&.preview_text(maxlength)
124
124
  end
125
+
126
+ def first_ingredient_by_definition
127
+ return if ingredient_definitions.empty?
128
+
129
+ role = ingredient_definitions.first["role"]
130
+ ingredients.detect { |ingredient| ingredient.role == role }
131
+ end
125
132
  end
126
133
  end
127
134
  end
@@ -267,20 +267,6 @@ module Alchemy
267
267
  "alchemy/elements/#{name}"
268
268
  end
269
269
 
270
- # Returns the key that's taken for cache path.
271
- #
272
- # Uses the page's +published_at+ value that's updated when the user publishes the page.
273
- #
274
- # If the page is the current preview it uses the element's updated_at value as cache key.
275
- #
276
- def cache_key
277
- if Page.current_preview == page
278
- "alchemy/elements/#{id}-#{updated_at}"
279
- else
280
- "alchemy/elements/#{id}-#{page.published_at}"
281
- end
282
- end
283
-
284
270
  # A collection of element names that can be nested inside this element.
285
271
  def nestable_elements
286
272
  definition.fetch("nestable_elements", [])
@@ -118,11 +118,6 @@ module Alchemy
118
118
  value.to_s[0..maxlength - 1]
119
119
  end
120
120
 
121
- # Cross DB adapter data accessor that works
122
- def data
123
- @_data ||= (self[:data] || {}).with_indifferent_access
124
- end
125
-
126
121
  # The path to the view partial of the ingredient
127
122
  # @return [String]
128
123
  def to_partial_path
@@ -110,22 +110,13 @@ module Alchemy
110
110
  # If the page is the current preview it uses the updated_at value as cache key.
111
111
  #
112
112
  def cache_key
113
- if Page.current_preview == self
113
+ if Page.current_preview == id
114
114
  "alchemy/pages/#{id}-#{updated_at}"
115
115
  else
116
116
  "alchemy/pages/#{id}-#{published_at}"
117
117
  end
118
118
  end
119
119
 
120
- # We use the published_at value for the cache_key.
121
- #
122
- # If no published_at value is set yet, i.e. because it was never published,
123
- # we return the updated_at value.
124
- #
125
- def published_at
126
- read_attribute(:published_at) || updated_at
127
- end
128
-
129
120
  # Returns true if the page cache control headers should be set.
130
121
  #
131
122
  # == Disable Alchemy's page caching globally
@@ -198,13 +198,13 @@ module Alchemy
198
198
  %w[name urlname title]
199
199
  end
200
200
 
201
- # Used to store the current page previewed in the edit page template.
201
+ # Used to store the current page id previewed in the edit page template.
202
202
  #
203
203
  def current_preview=(page)
204
- RequestStore.store[:alchemy_current_preview] = page
204
+ RequestStore.store[:alchemy_current_preview] = page&.id
205
205
  end
206
206
 
207
- # Returns the current page previewed in the edit page template.
207
+ # Returns the current page id previewed in the edit page template.
208
208
  #
209
209
  def current_preview
210
210
  RequestStore.store[:alchemy_current_preview]
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Alchemy
4
4
  class PageVersion < BaseRecord
5
- belongs_to :page, class_name: "Alchemy::Page", inverse_of: :versions
5
+ belongs_to :page, class_name: "Alchemy::Page", inverse_of: :versions, touch: true
6
6
 
7
7
  has_many :elements, -> { order(:position) },
8
8
  class_name: "Alchemy::Element",
@@ -1,7 +1,7 @@
1
1
  (function() {
2
2
  var $el = $('#element_<%= @element.id %>');
3
3
  var $errors = $('#element_<%= @element.id %>_errors');
4
- $('> .element-content .content_editor, > .element-content .ingredient_editor', $el).removeClass('validation_failed');
4
+ $('> .element-content .content_editor, > .element-content .ingredient-editor', $el).removeClass('validation_failed');
5
5
 
6
6
  <%- if @element_validated -%>
7
7
 
@@ -138,7 +138,7 @@
138
138
  <% end %>
139
139
 
140
140
  <% content_for :javascripts do %>
141
- <% if Alchemy::Tinymce.custom_config_contents(@page).present? %>
141
+ <% if Alchemy::Tinymce.custom_configs_present?(@page) %>
142
142
  <%= render 'tinymce_custom_config' %>
143
143
  <% end %>
144
144
 
@@ -16,7 +16,6 @@ RSpec.shared_examples_for "an alchemy ingredient" do
16
16
  it { is_expected.to belong_to(:related_object).optional }
17
17
  it { is_expected.to validate_presence_of(:role) }
18
18
  it { is_expected.to validate_presence_of(:type) }
19
- it { expect(subject.data).to eq({}) }
20
19
 
21
20
  describe "#settings" do
22
21
  subject { ingredient.settings }
@@ -34,6 +34,10 @@ module Alchemy
34
34
  @@init
35
35
  end
36
36
 
37
+ def custom_configs_present?(page)
38
+ custom_config_contents(page).any? || custom_config_ingredients(page).any?
39
+ end
40
+
37
41
  def custom_config_contents(page)
38
42
  content_definitions_from_elements(page.descendent_element_definitions)
39
43
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alchemy
4
- VERSION = "6.0.0.b3"
4
+ VERSION = "6.0.0-rc1"
5
5
 
6
6
  def self.version
7
7
  VERSION
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alchemy_cms/admin",
3
- "version": "6.0.0-b2",
3
+ "version": "6.0.0-rc1",
4
4
  "description": "AlchemyCMS",
5
5
  "browser": "package/admin.js",
6
6
  "files": [
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: 6.0.0.b3
4
+ version: 6.0.0.pre.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2021-08-12 00:00:00.000000000 Z
16
+ date: 2021-09-12 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: actionmailer
@@ -24,7 +24,7 @@ dependencies:
24
24
  version: '6.0'
25
25
  - - "<"
26
26
  - !ruby/object:Gem::Version
27
- version: '6.1'
27
+ version: '6.2'
28
28
  type: :runtime
29
29
  prerelease: false
30
30
  version_requirements: !ruby/object:Gem::Requirement
@@ -34,7 +34,7 @@ dependencies:
34
34
  version: '6.0'
35
35
  - - "<"
36
36
  - !ruby/object:Gem::Version
37
- version: '6.1'
37
+ version: '6.2'
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: actionpack
40
40
  requirement: !ruby/object:Gem::Requirement
@@ -44,7 +44,7 @@ dependencies:
44
44
  version: '6.0'
45
45
  - - "<"
46
46
  - !ruby/object:Gem::Version
47
- version: '6.1'
47
+ version: '6.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '6.0'
55
55
  - - "<"
56
56
  - !ruby/object:Gem::Version
57
- version: '6.1'
57
+ version: '6.2'
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: actionview
60
60
  requirement: !ruby/object:Gem::Requirement
@@ -64,7 +64,7 @@ dependencies:
64
64
  version: '6.0'
65
65
  - - "<"
66
66
  - !ruby/object:Gem::Version
67
- version: '6.1'
67
+ version: '6.2'
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,7 +74,7 @@ dependencies:
74
74
  version: '6.0'
75
75
  - - "<"
76
76
  - !ruby/object:Gem::Version
77
- version: '6.1'
77
+ version: '6.2'
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: activejob
80
80
  requirement: !ruby/object:Gem::Requirement
@@ -84,7 +84,7 @@ dependencies:
84
84
  version: '6.0'
85
85
  - - "<"
86
86
  - !ruby/object:Gem::Version
87
- version: '6.1'
87
+ version: '6.2'
88
88
  type: :runtime
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
@@ -94,7 +94,7 @@ dependencies:
94
94
  version: '6.0'
95
95
  - - "<"
96
96
  - !ruby/object:Gem::Version
97
- version: '6.1'
97
+ version: '6.2'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: activemodel
100
100
  requirement: !ruby/object:Gem::Requirement
@@ -104,7 +104,7 @@ dependencies:
104
104
  version: '6.0'
105
105
  - - "<"
106
106
  - !ruby/object:Gem::Version
107
- version: '6.1'
107
+ version: '6.2'
108
108
  type: :runtime
109
109
  prerelease: false
110
110
  version_requirements: !ruby/object:Gem::Requirement
@@ -114,7 +114,7 @@ dependencies:
114
114
  version: '6.0'
115
115
  - - "<"
116
116
  - !ruby/object:Gem::Version
117
- version: '6.1'
117
+ version: '6.2'
118
118
  - !ruby/object:Gem::Dependency
119
119
  name: activerecord
120
120
  requirement: !ruby/object:Gem::Requirement
@@ -124,7 +124,7 @@ dependencies:
124
124
  version: '6.0'
125
125
  - - "<"
126
126
  - !ruby/object:Gem::Version
127
- version: '6.1'
127
+ version: '6.2'
128
128
  type: :runtime
129
129
  prerelease: false
130
130
  version_requirements: !ruby/object:Gem::Requirement
@@ -134,7 +134,7 @@ dependencies:
134
134
  version: '6.0'
135
135
  - - "<"
136
136
  - !ruby/object:Gem::Version
137
- version: '6.1'
137
+ version: '6.2'
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: activesupport
140
140
  requirement: !ruby/object:Gem::Requirement
@@ -144,7 +144,7 @@ dependencies:
144
144
  version: '6.0'
145
145
  - - "<"
146
146
  - !ruby/object:Gem::Version
147
- version: '6.1'
147
+ version: '6.2'
148
148
  type: :runtime
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
@@ -154,7 +154,7 @@ dependencies:
154
154
  version: '6.0'
155
155
  - - "<"
156
156
  - !ruby/object:Gem::Version
157
- version: '6.1'
157
+ version: '6.2'
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: railties
160
160
  requirement: !ruby/object:Gem::Requirement
@@ -164,7 +164,7 @@ dependencies:
164
164
  version: '6.0'
165
165
  - - "<"
166
166
  - !ruby/object:Gem::Version
167
- version: '6.1'
167
+ version: '6.2'
168
168
  type: :runtime
169
169
  prerelease: false
170
170
  version_requirements: !ruby/object:Gem::Requirement
@@ -174,7 +174,7 @@ dependencies:
174
174
  version: '6.0'
175
175
  - - "<"
176
176
  - !ruby/object:Gem::Version
177
- version: '6.1'
177
+ version: '6.2'
178
178
  - !ruby/object:Gem::Dependency
179
179
  name: active_model_serializers
180
180
  requirement: !ruby/object:Gem::Requirement
@@ -1516,7 +1516,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1516
1516
  version: 1.3.1
1517
1517
  requirements:
1518
1518
  - ImageMagick (libmagick), v6.6 or greater.
1519
- rubygems_version: 3.1.6
1519
+ rubygems_version: 3.2.26
1520
1520
  signing_key:
1521
1521
  specification_version: 4
1522
1522
  summary: A powerful, userfriendly and flexible CMS for Rails