comfortable_media_surfer 3.1.4 → 3.1.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8cf323e095236d5bf70617e2f6fdc7274844f10f3ae63312ddbd569becb71907
4
- data.tar.gz: 69ef4521653d87de1dbc5cc5cf7f40c90eb0329bda6b8224038b6822c0973996
3
+ metadata.gz: 4e5be068cf905c6ec8cb3e1e509554abff7e77d8f2c75a21116f5ee3e80c65f9
4
+ data.tar.gz: 723125a4edbd90114426132bf375fe6fd6cc9f501d638e8c48e4caf9a70ad1e7
5
5
  SHA512:
6
- metadata.gz: 74e32612a8d303dd5e21cefe7996ec9123308878ffc88c33d1bf7a64ec3151a3fb4a83d1f530159305e3c9ed9ecb2b7da95e72ad871c2ccaeae40cd9c33b4c45
7
- data.tar.gz: 9d64b2d2537f236502af7964f3cc623ed6d395856688b5cfd64f66653b9d84fb6455b0938250515ab7b201a54c4c2a3b63ec277ff907062be339974836c67c53
6
+ metadata.gz: a515bc875c3f765bff181e36b6eb9b7fd9fd2a6f1ce20b2f31390c5d93c81cab36036fea15fc98948220e8ea754f87021c0a96800833712647815f8058650e89
7
+ data.tar.gz: 50b001c7926e4de6a6a00bbdddf11964bd976d3735e83f604836826fb5c5c1250683260db1864954493421cee08ed9af1765b664dc11050f2f522c0c7fecf00b
@@ -0,0 +1,44 @@
1
+ name: Claude Code Review
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, synchronize, ready_for_review, reopened]
6
+
7
+ jobs:
8
+ claude-review:
9
+ runs-on: ubuntu-latest
10
+ permissions:
11
+ contents: read
12
+ pull-requests: write
13
+ issues: write
14
+ id-token: write
15
+
16
+ steps:
17
+ - name: Checkout repository
18
+ uses: actions/checkout@v6
19
+ with:
20
+ fetch-depth: 1
21
+
22
+ - name: Run Claude Code Review
23
+ id: claude-review
24
+ uses: anthropics/claude-code-action@v1
25
+ with:
26
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
27
+ prompt: |
28
+ REPO: ${{ github.repository }}
29
+ PR NUMBER: ${{ github.event.pull_request.number }}
30
+
31
+ Please review this pull request with a focus on:
32
+ - Code quality and best practices
33
+ - Potential bugs or issues
34
+ - Security implications
35
+ - Performance considerations
36
+
37
+ Note: The PR branch is already checked out in the current working directory.
38
+
39
+ Use `gh pr comment` for top-level feedback.
40
+ Use `mcp__github_inline_comment__create_inline_comment` to highlight specific code issues.
41
+ Only post GitHub comments - don't submit review text as messages.
42
+
43
+ claude_args: |
44
+ --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)"
@@ -0,0 +1,50 @@
1
+ name: Claude Code
2
+
3
+ on:
4
+ issue_comment:
5
+ types: [created]
6
+ pull_request_review_comment:
7
+ types: [created]
8
+ issues:
9
+ types: [opened, assigned]
10
+ pull_request_review:
11
+ types: [submitted]
12
+
13
+ jobs:
14
+ claude:
15
+ if: |
16
+ (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17
+ (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18
+ (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19
+ (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
20
+ runs-on: ubuntu-latest
21
+ permissions:
22
+ contents: read
23
+ pull-requests: read
24
+ issues: read
25
+ id-token: write
26
+ actions: read # Required for Claude to read CI results on PRs
27
+ steps:
28
+ - name: Checkout repository
29
+ uses: actions/checkout@v4
30
+ with:
31
+ fetch-depth: 1
32
+
33
+ - name: Run Claude Code
34
+ id: claude
35
+ uses: anthropics/claude-code-action@v1
36
+ with:
37
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
38
+
39
+ # This is an optional setting that allows Claude to read CI results on PRs
40
+ additional_permissions: |
41
+ actions: read
42
+
43
+ # Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
44
+ # prompt: 'Update the pull request description to include a summary of changes.'
45
+
46
+ # Optional: Add claude_args to customize behavior and configuration
47
+ # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
48
+ # or https://code.claude.com/docs/en/cli-reference for available options
49
+ # claude_args: '--allowed-tools Bash(gh pr:*)'
50
+
@@ -13,10 +13,12 @@ jobs:
13
13
  - "3.2"
14
14
  - "3.3"
15
15
  - "3.4"
16
+ - "4.0"
16
17
  rails-version:
17
18
  - "7.1"
18
19
  - "7.2"
19
20
  - "8.0"
21
+ - "8.1"
20
22
  continue-on-error: [true]
21
23
  name: ${{ format('Tests (Ruby {0}, Rails {1})', matrix.ruby-version, matrix.rails-version) }}
22
24
  runs-on: ubuntu-latest
data/.rubocop.yml CHANGED
@@ -5,6 +5,7 @@ require:
5
5
  AllCops:
6
6
  TargetRubyVersion: 3.2
7
7
  NewCops: enable
8
+ SuggestExtensions: false
8
9
  Exclude:
9
10
  - bin/*
10
11
  - db/schema.rb
@@ -49,6 +50,9 @@ Metrics/PerceivedComplexity:
49
50
  Naming/MethodParameterName:
50
51
  Enabled: false
51
52
 
53
+ Naming/PredicateMethod:
54
+ Enabled: false
55
+
52
56
  # -- Style ---------------------------------------------------------------------
53
57
  Style/ClassAndModuleChildren:
54
58
  Enabled: false
data/CHANGELOG.md CHANGED
@@ -12,6 +12,31 @@ For all changes prior to the inception of this project, see the [Release History
12
12
 
13
13
  ## [Unreleased]
14
14
 
15
+ ## [v3.1.5] - 2026-01-08
16
+
17
+ ## Added
18
+
19
+ - Rails 8.1 compatibility
20
+
21
+ ## Fixed
22
+
23
+ - Strip possible spaces around exclude page slugs, from [PR](https://github.com/shakacode/comfortable-media-surfer/pull/42)
24
+
25
+ ## Changed
26
+
27
+ - gem updates for propshaft, brakeman, rubocop, haml-rails
28
+
29
+ ## [v3.1.4] - 2025-07-14
30
+
31
+ ### Fixed
32
+
33
+ - removed obsolete JQuery reference
34
+
35
+ ### Changed
36
+
37
+ - updated gem versions
38
+ - update README for migration from Occams
39
+
15
40
  ## [v3.1.3] - 2025-05-29
16
41
 
17
42
  ### Fixed
@@ -90,7 +115,9 @@ First release of `comfortable_media_surfer`. This new gem is a revival of [Comfo
90
115
 
91
116
  - Rebranded **ComfortableMexicanSofa** as **ComfortableMediaSurfer** in order to publish new gem (database table names and schema have not changed).
92
117
 
93
- [Unreleased]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.3...master
118
+ [Unreleased]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.5...master
119
+ [v3.1.5]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.4...v3.1.5
120
+ [v3.1.4]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.3...v3.1.4
94
121
  [v3.1.3]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.2...v3.1.3
95
122
  [v3.1.2]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.1...v3.1.2
96
123
  [v3.1.1]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.0...v3.1.1
data/Gemfile CHANGED
@@ -5,14 +5,14 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
5
 
6
6
  gemspec
7
7
 
8
- gem 'rails', '~> 8.0'
8
+ gem 'rails', '~> 8.1.0'
9
9
 
10
10
  group :development, :test do
11
11
  gem 'autoprefixer-rails', '~> 10.4.21.0'
12
12
  gem 'byebug', '~> 12.0.0', platforms: %i[mri mingw x64_mingw]
13
13
  gem 'gem-release'
14
14
  gem 'image_processing', '>= 1.12.0'
15
- gem 'propshaft', '~> 1.1.0'
15
+ gem 'propshaft', '~> 1.3.1'
16
16
  gem 'sqlite3', '>= 2.1'
17
17
  # gem 'mysql2', '~> 0.5'
18
18
  # gem 'pg', '~> 1.5.4'
@@ -24,18 +24,19 @@ group :development do
24
24
  end
25
25
 
26
26
  group :test do
27
- gem 'brakeman', '~> 7.0.2'
27
+ gem 'brakeman', '~> 7.1.0'
28
28
  gem 'bundler-audit', '~> 0.9.1'
29
29
  gem 'coveralls_reborn', '~> 0.29.0', require: false
30
30
  gem 'cuprite', '>= 0.15'
31
+ gem 'diffy'
31
32
  gem 'equivalent-xml', '~> 0.6.0'
32
- gem 'minitest', '>= 5.23.0'
33
+ gem 'minitest', '< 6.0.0'
33
34
  gem 'minitest-reporters', '>= 1.6.1'
34
35
  gem 'mocha', '>= 2.3.0', require: false
35
36
  gem 'ostruct'
36
37
  gem 'puma'
37
38
  gem 'rails-controller-testing', '~> 1.0.5'
38
- gem 'rubocop', '~> 1.77.0', require: false
39
+ gem 'rubocop', '~> 1.81.1', require: false
39
40
  gem 'rubocop-minitest'
40
41
  gem 'rubocop-rails'
41
42
  gem 'simplecov', '~> 0.22.0', require: false
data/README.md CHANGED
@@ -144,5 +144,5 @@ ComfortableMediaSurfer can run like any Rails application in development. It's a
144
144
 
145
145
  ---
146
146
 
147
- Copyright 2010-2019 Oleg Khabarov, 2024-2025 ShakaCode LLC
147
+ Copyright 2010-2019 Oleg Khabarov, 2024-2026 ShakaCode LLC
148
148
  Released under the [MIT license](LICENSE)
@@ -2,7 +2,7 @@
2
2
 
3
3
  class Comfy::Admin::Cms::BaseController < Comfy::Admin::BaseController
4
4
  before_action :load_admin_site,
5
- :set_locale,
5
+ :set_locale?,
6
6
  :load_seeds,
7
7
  except: :jump
8
8
 
@@ -33,7 +33,7 @@ protected
33
33
  end
34
34
  end
35
35
 
36
- def set_locale
36
+ def set_locale?
37
37
  I18n.locale = ComfortableMediaSurfer.config.admin_locale || @site&.locale
38
38
  true
39
39
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  class Comfy::Admin::Cms::FilesController < Comfy::Admin::Cms::BaseController
4
4
  include ::Comfy::ReorderAction
5
+
5
6
  self.reorder_action_resource = ::Comfy::Cms::File
6
7
 
7
8
  include ActionView::Helpers::NumberHelper
@@ -81,9 +82,9 @@ class Comfy::Admin::Cms::FilesController < Comfy::Admin::Cms::BaseController
81
82
  rescue ActiveRecord::RecordInvalid
82
83
  case params[:source]
83
84
  when 'plupload'
84
- render body: @file.errors.full_messages.to_sentence, status: :unprocessable_entity
85
+ render body: @file.errors.full_messages.to_sentence, status: :unprocessable_content
85
86
  when 'redactor'
86
- render body: nil, status: :unprocessable_entity
87
+ render body: nil, status: :unprocessable_content
87
88
  else
88
89
  flash.now[:danger] = I18n.t('comfy.admin.cms.files.creation_failure')
89
90
  render action: :new
@@ -2,6 +2,7 @@
2
2
 
3
3
  class Comfy::Admin::Cms::LayoutsController < Comfy::Admin::Cms::BaseController
4
4
  include ::Comfy::ReorderAction
5
+
5
6
  self.reorder_action_resource = ::Comfy::Cms::Layout
6
7
 
7
8
  before_action :build_layout, only: %i[new create]
@@ -9,7 +10,7 @@ class Comfy::Admin::Cms::LayoutsController < Comfy::Admin::Cms::BaseController
9
10
  before_action :authorize
10
11
 
11
12
  def index
12
- return redirect_to action: :new if @site.layouts.count.zero?
13
+ return redirect_to action: :new if @site.layouts.none?
13
14
 
14
15
  @layouts = @site.layouts.roots.order(:position)
15
16
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  class Comfy::Admin::Cms::PagesController < Comfy::Admin::Cms::BaseController
4
4
  include ::Comfy::ReorderAction
5
+
5
6
  self.reorder_action_resource = ::Comfy::Cms::Page
6
7
 
7
8
  before_action :check_for_layouts, only: %i[new edit]
@@ -111,7 +112,7 @@ protected
111
112
  end
112
113
 
113
114
  def site_has_no_pages?
114
- @site.pages.count.zero?
115
+ @site.pages.none?
115
116
  end
116
117
 
117
118
  def pages_grouped_by_parent
@@ -119,7 +120,7 @@ protected
119
120
  end
120
121
 
121
122
  def check_for_layouts
122
- return unless @site.layouts.count.zero?
123
+ return unless @site.layouts.none?
123
124
 
124
125
  flash[:danger] = I18n.t('comfy.admin.cms.pages.layout_not_found')
125
126
  redirect_to new_comfy_admin_cms_site_layout_path(@site)
@@ -9,7 +9,7 @@ class Comfy::Admin::Cms::SitesController < Comfy::Admin::Cms::BaseController
9
9
  before_action :authorize
10
10
 
11
11
  def index
12
- return redirect_to action: :new if ::Comfy::Cms::Site.count.zero?
12
+ return redirect_to action: :new if ::Comfy::Cms::Site.none?
13
13
 
14
14
  @site = ::Comfy::Cms::Site.find_by_id(session[:site_id])
15
15
  @sites = ::Comfy::Cms::Site.all
@@ -2,6 +2,7 @@
2
2
 
3
3
  class Comfy::Admin::Cms::SnippetsController < Comfy::Admin::Cms::BaseController
4
4
  include ::Comfy::ReorderAction
5
+
5
6
  self.reorder_action_resource = ::Comfy::Cms::Snippet
6
7
 
7
8
  before_action :build_snippet, only: %i[new create]
@@ -9,7 +10,7 @@ class Comfy::Admin::Cms::SnippetsController < Comfy::Admin::Cms::BaseController
9
10
  before_action :authorize
10
11
 
11
12
  def index
12
- return redirect_to action: :new if @site.snippets.count.zero?
13
+ return redirect_to action: :new if @site.snippets.none?
13
14
 
14
15
  @snippets = @site.snippets.includes(:categories).for_category(params[:categories]).order(:position)
15
16
  end
@@ -36,7 +36,7 @@ class Comfy::Cms::Page < ActiveRecord::Base
36
36
  presence: true,
37
37
  uniqueness: { scope: :parent_id },
38
38
  unless: ->(p) {
39
- p.site && (p.site.pages.count.zero? || p.site.pages.root == self)
39
+ p.site && (!p.site.pages.exists? || p.site.pages.root == self)
40
40
  }
41
41
  validate :validate_target_page
42
42
  validate :validate_format_of_unescaped_slug
@@ -113,7 +113,7 @@ protected
113
113
  def assign_parent
114
114
  return unless site
115
115
 
116
- self.parent ||= site.pages.root unless self == site.pages.root || site.pages.count.zero?
116
+ self.parent ||= site.pages.root unless self == site.pages.root || site.pages.none?
117
117
  end
118
118
 
119
119
  def assign_full_path
@@ -33,7 +33,7 @@ class Comfy::Cms::Site < ActiveRecord::Base
33
33
  # -- Class Methods -----------------------------------------------------------
34
34
  # returning the Comfy::Cms::Site instance based on host and path
35
35
  def self.find_site(host, path = nil)
36
- return Comfy::Cms::Site.first if Comfy::Cms::Site.count == 1
36
+ return Comfy::Cms::Site.first if Comfy::Cms::Site.one?
37
37
 
38
38
  cms_site = nil
39
39
 
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.add_dependency 'active_link_to', '~> 1.0', '>= 1.0.5'
26
26
  spec.add_dependency 'comfy_bootstrap_form', '~> 4.0', '>= 4.0.0'
27
- spec.add_dependency 'haml-rails', '~> 2.1', '>= 2.1.0'
27
+ spec.add_dependency 'haml-rails', '>= 2.1', '< 4.0'
28
28
  spec.add_dependency 'image_processing', '~> 1.2', '>= 1.12.2'
29
29
  spec.add_dependency 'kaminari', '~> 1.2', '>= 1.2.2'
30
30
  spec.add_dependency 'kramdown', '~> 2.4', '>= 2.4.0'
@@ -32,5 +32,4 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency 'mini_magick', '>= 4.12', '< 6.0'
33
33
  spec.add_dependency 'rails', '>= 7.0.0'
34
34
  spec.add_dependency 'rails-i18n', '>= 6.0.0'
35
- spec.add_dependency 'sassc-rails', '>= 2.1.2'
36
35
  end
data/gemfiles/7.1.gemfile CHANGED
@@ -16,16 +16,19 @@ group :development, :test do
16
16
  end
17
17
 
18
18
  group :test do
19
- gem 'brakeman', '~> 6.1.2'
19
+ gem 'brakeman', '~> 7.1.0'
20
20
  gem 'bundler-audit', '~> 0.9.1'
21
- gem 'coveralls_reborn', '~> 0.28.0', require: false
21
+ gem 'coveralls_reborn', '~> 0.29.0', require: false
22
22
  gem 'cuprite', '>= 0.15'
23
+ gem 'diffy'
23
24
  gem 'equivalent-xml', '~> 0.6.0'
24
- gem 'minitest', '>= 5.23.0'
25
+ gem 'minitest', '< 6.0.0'
25
26
  gem 'minitest-reporters', '>= 1.6.1'
26
27
  gem 'mocha', '>= 2.3.0', require: false
28
+ gem 'ostruct'
29
+ gem 'puma'
27
30
  gem 'rails-controller-testing', '~> 1.0.5'
28
- gem 'rubocop', '~> 1.63.0', require: false
31
+ gem 'rubocop', '~> 1.81.1', require: false
29
32
  gem 'rubocop-minitest'
30
33
  gem 'rubocop-rails'
31
34
  gem 'simplecov', '~> 0.22.0', require: false
data/gemfiles/7.2.gemfile CHANGED
@@ -16,16 +16,19 @@ group :development, :test do
16
16
  end
17
17
 
18
18
  group :test do
19
- gem 'brakeman', '~> 6.1.2'
19
+ gem 'brakeman', '~> 7.1.0'
20
20
  gem 'bundler-audit', '~> 0.9.1'
21
- gem 'coveralls_reborn', '~> 0.28.0', require: false
21
+ gem 'coveralls_reborn', '~> 0.29.0', require: false
22
22
  gem 'cuprite', '>= 0.15'
23
+ gem 'diffy'
23
24
  gem 'equivalent-xml', '~> 0.6.0'
24
- gem 'minitest', '>= 5.23.0'
25
+ gem 'minitest', '< 6.0.0'
25
26
  gem 'minitest-reporters', '>= 1.6.1'
26
27
  gem 'mocha', '>= 2.3.0', require: false
28
+ gem 'ostruct'
29
+ gem 'puma'
27
30
  gem 'rails-controller-testing', '~> 1.0.5'
28
- gem 'rubocop', '~> 1.63.0', require: false
31
+ gem 'rubocop', '~> 1.81.1', require: false
29
32
  gem 'rubocop-minitest'
30
33
  gem 'rubocop-rails'
31
34
  gem 'simplecov', '~> 0.22.0', require: false
data/gemfiles/8.0.gemfile CHANGED
@@ -16,16 +16,19 @@ group :development, :test do
16
16
  end
17
17
 
18
18
  group :test do
19
- gem 'brakeman', '~> 6.1.2'
19
+ gem 'brakeman', '~> 7.1.0'
20
20
  gem 'bundler-audit', '~> 0.9.1'
21
- gem 'coveralls_reborn', '~> 0.28.0', require: false
21
+ gem 'coveralls_reborn', '~> 0.29.0', require: false
22
22
  gem 'cuprite', '>= 0.15'
23
+ gem 'diffy'
23
24
  gem 'equivalent-xml', '~> 0.6.0'
24
- gem 'minitest', '>= 5.23.0'
25
+ gem 'minitest', '< 6.0.0'
25
26
  gem 'minitest-reporters', '>= 1.6.1'
26
27
  gem 'mocha', '>= 2.3.0', require: false
28
+ gem 'ostruct'
29
+ gem 'puma'
27
30
  gem 'rails-controller-testing', '~> 1.0.5'
28
- gem 'rubocop', '~> 1.63.0', require: false
31
+ gem 'rubocop', '~> 1.81.1', require: false
29
32
  gem 'rubocop-minitest'
30
33
  gem 'rubocop-rails'
31
34
  gem 'simplecov', '~> 0.22.0', require: false
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
+
6
+ gemspec path: '../'
7
+
8
+ gem 'rails', '~> 8.1.0'
9
+
10
+ group :development, :test do
11
+ gem 'autoprefixer-rails', '~> 10.4.16.0'
12
+ gem 'byebug', '~> 11.1.0', platforms: %i[mri mingw x64_mingw]
13
+ gem 'image_processing', '>= 1.12.0'
14
+ gem 'propshaft', '~> 1.1.0'
15
+ gem 'sqlite3', '>= 2.1'
16
+ end
17
+
18
+ group :test do
19
+ gem 'brakeman', '~> 7.1.0'
20
+ gem 'bundler-audit', '~> 0.9.1'
21
+ gem 'coveralls_reborn', '~> 0.29.0', require: false
22
+ gem 'cuprite', '>= 0.15'
23
+ gem 'diffy'
24
+ gem 'equivalent-xml', '~> 0.6.0'
25
+ gem 'minitest', '< 6.0.0'
26
+ gem 'minitest-reporters', '>= 1.6.1'
27
+ gem 'mocha', '>= 2.3.0', require: false
28
+ gem 'ostruct'
29
+ gem 'puma'
30
+ gem 'rails-controller-testing', '~> 1.0.5'
31
+ gem 'rubocop', '~> 1.81.1', require: false
32
+ gem 'rubocop-minitest'
33
+ gem 'rubocop-rails'
34
+ gem 'simplecov', '~> 0.22.0', require: false
35
+ end
@@ -60,7 +60,7 @@ class ComfortableMediaSurfer::Content::Renderer
60
60
  nodes = nodes(tokens)
61
61
  render(nodes, allow_erb || node.allow_erb?, depth.next)
62
62
  end
63
- end.flatten.join
63
+ end.join
64
64
  end
65
65
 
66
66
  def sanitize_erb(string, allow_erb)
@@ -106,7 +106,7 @@ class ComfortableMediaSurfer::Content::Renderer
106
106
 
107
107
  # This handles {{cms:end}} tag. Stopping collecting block nodes.
108
108
  when 'end'
109
- if nodes.count == 1
109
+ if nodes.one?
110
110
  raise SyntaxError, 'closing unopened block'
111
111
  end
112
112
 
@@ -25,7 +25,7 @@ class ComfortableMediaSurfer::Content::Tags::Children < ComfortableMediaSurfer::
25
25
  @style = ''
26
26
  @style = "<style>#children {#{@locals['style']}}</style>\n" if @locals['style']
27
27
  @exclude = []
28
- @exclude = @locals['exclude'].split(',') if @locals['exclude']
28
+ @exclude = @locals['exclude'].split(',').map(&:strip) if @locals['exclude']
29
29
  @list = ''
30
30
  # ActiveRecord_Associations_CollectionProxy
31
31
  @page_children = context.children.order(:position).to_ary
@@ -31,11 +31,11 @@ class ComfortableMediaSurfer::FormBuilder < ComfyBootstrapForm::FormBuilder
31
31
  # = form.form_actions do
32
32
  # = form.submit
33
33
  #
34
- def form_actions(&block)
34
+ def form_actions(&)
35
35
  content_tag(:div, class: 'form-actions row bg-light') do
36
36
  content_tag(:div, class: 'col-lg-8 offset-lg-2') do
37
37
  content_tag(:div, class: 'form-group row mb-0') do
38
- content_tag(:div, class: 'col-sm-10 offset-sm-2', &block)
38
+ content_tag(:div, class: 'col-sm-10 offset-sm-2', &)
39
39
  end
40
40
  end
41
41
  end
@@ -8,8 +8,14 @@ module ComfortableMediaSurfer::Routing
8
8
  namespace :cms, as: :admin_cms, path: path, except: :show do
9
9
  get '/', to: 'base#jump'
10
10
 
11
+ # concern :with_revisions do |options|
12
+ # resources :revisions, options.merge(only: %i[index show]) do
13
+ # patch :revert, on: :member
14
+ # end
15
+ # end
16
+
11
17
  concern :with_revisions do |options|
12
- resources :revisions, options.merge(only: %i[index show]) do
18
+ resources :revisions, **options, only: %i[index show] do
13
19
  patch :revert, on: :member
14
20
  end
15
21
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ComfortableMediaSurfer
4
- VERSION = '3.1.4'
4
+ VERSION = '3.1.6'
5
5
  end