slim-rails 4.0.0 → 4.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af27b2590d96b6394a46f392188b8853e2f6099ea5e5c386a16f14106ce7631b
4
- data.tar.gz: 1ef0c42346ad933e803a4eefb9bb23b37f267180f99cd2acba90753d20588c11
3
+ metadata.gz: a43faa0b0addf8a1b9413e5089bc37b79d95e7bed97c65dd096df5b9b1fe15b5
4
+ data.tar.gz: 0e9cd06620beed82070914ff983f41e66d9ab8aae53ada9507ef44ee1ddcb23c
5
5
  SHA512:
6
- metadata.gz: 17ddd58b1d67e04dc05787e4a4b89d3fcbaea1619320353a920ce4d9190eee8a3fbf95871bfe5f891a5f66634d8f0721ee7bda6073b825230956bb1df01679bc
7
- data.tar.gz: dd051090b0259003607c0876df5d1fffb02230d7393391ba4ecc11ebf6870b5b51ced80d46c2cb721c6125acdbf78c9e58570866f5a8e392a9f0ed8580478112
6
+ metadata.gz: eae875fa6757d855e94ad2fadd66244681cc03cd803175e686f3c87798c0430c1361a4dc93383cba971e002baf041611c815b21801cab0699b6376ad6eb2b639
7
+ data.tar.gz: 9f462d2e2789bae3793104b8811fa9b423dfdda23669b770d2165f58e82237da20501cc59da741edeab1923564d6571a1f811f5642e41342d732603cdd40b594
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## 4.0.1 (September 19, 2026)
2
+
3
+ - Align Rails dependencies with supported versions ([#221])
4
+ - Drop Support for Rails 6.1 and older
5
+ - Remove legacy Rails 6.1 and older support code ([#223])
6
+ - Preserve Sprockets context dependency metadata ([#217])
7
+ - Track compiled Slim render calls in template digests ([#220])
8
+ - Generate valid block markup for attachment collections ([#218])
9
+ - Update gemspec metadata and remove unused development dependencies ([#213])
10
+ - CI: Restrict GitHub Actions workflow permissions to contents: read ([#215])
11
+ - CI: Add Ruby 4.0 to CI Matrix ([#212])
12
+ - CI: Fix CI failures with minitest v6 ([#210])
13
+ - CI: Update Appraisals definitions for maintainability ([#209])
14
+ - Fix RuboCop config for development environment ([#211])
15
+
1
16
  ## 4.0.0 (December 11, 2025)
2
17
 
3
18
  - Add support for Rails Annotations and CodeStatistics ([#206])
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/erb/authentication/authentication_generator"
2
4
 
3
5
  module Slim
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/erb/controller/controller_generator"
2
4
 
3
5
  module Slim
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/erb/mailer/mailer_generator"
2
4
 
3
5
  module Slim
@@ -1,3 +1,3 @@
1
1
  ' <%= class_name %>#<%= @action %>
2
2
  = "\r\n" * 2
3
- ' #{@greeting}, find me in <%= @path %>
3
+ ' #{{@greeting}}, find me in <%= @path %>
@@ -1,13 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/erb/scaffold/scaffold_generator"
2
4
 
3
5
  module Slim
4
6
  module Generators
5
7
  class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator # :nodoc:
6
- if ::Rails::VERSION::MAJOR >= 7
7
- source_root File.expand_path(File.join("..", "templates"), __FILE__)
8
- else
9
- source_root File.expand_path(File.join("..", "legacy_templates"), __FILE__)
10
- end
8
+ source_root File.expand_path(File.join("..", "templates"), __FILE__)
11
9
 
12
10
  def copy_view_files
13
11
  available_views.each do |view|
@@ -15,9 +13,7 @@ module Slim
15
13
  template "#{view}.html.slim", File.join("app", "views", controller_file_path, filename)
16
14
  end
17
15
 
18
- if ::Rails::VERSION::MAJOR >= 7
19
- template "partial.html.slim", File.join("app/views", controller_file_path, "_#{singular_name}.html.slim")
20
- end
16
+ template "partial.html.slim", File.join("app/views", controller_file_path, "_#{singular_name}.html.slim")
21
17
  end
22
18
 
23
19
  hook_for :form_builder, as: :scaffold
@@ -1,6 +1,6 @@
1
1
  div id="#{dom_id <%= singular_name %>}"
2
2
  <% attributes.reject(&:password_digest?).each do |attribute| -%>
3
- p
3
+ div
4
4
  strong <%= attribute.human_name %>:
5
5
  <% if attribute.attachment? -%>
6
6
  = link_to <%= singular_name %>.<%= attribute.column_name %>.filename, <%= singular_name %>.<%= attribute.column_name %> if <%= singular_name %>.<%= attribute.column_name %>.attached?
@@ -1,31 +1,23 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Slim
2
4
  module Rails
3
5
  module RegisterEngine
4
6
  class Transformer
5
7
  def self.call(input)
6
8
  context = input[:environment].context_class.new(input)
7
- Slim::Template.new(input[:name]) { input[:data] }.render(context)
9
+ data = Slim::Template.new(input[:name]) { input[:data] }.render(context)
10
+ context.metadata.merge(data: data)
8
11
  end
9
12
  end
10
13
 
11
14
  class << self
12
15
  def register_engine(app, config)
13
- if ::Rails::VERSION::MAJOR == 3
14
- _register_engine3(app)
15
- else
16
- _register_engine(config)
17
- end
16
+ _register_engine(config)
18
17
  end
19
18
 
20
19
  private
21
20
 
22
- def _register_engine3(app)
23
- return unless app.assets
24
- return unless app.assets.respond_to?(:register_engine)
25
-
26
- app.assets.register_engine(".slim", Slim::Template)
27
- end
28
-
29
21
  def _register_engine(config)
30
22
  return unless config.respond_to?(:assets)
31
23
 
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Slim
2
4
  module Rails
3
- VERSION = "4.0.0"
5
+ VERSION = "4.0.1"
4
6
  end
5
7
  end
data/lib/slim-rails.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "slim-rails/version"
2
4
  require "rails"
3
5
  require "slim"
@@ -14,19 +16,13 @@ module Slim
14
16
  ActiveSupport.on_load(:action_view) do
15
17
  ActiveSupport.on_load(:after_initialize) do
16
18
  begin # rubocop:disable Style/RedundantBegin
17
- if defined?(CacheDigests::DependencyTracker)
18
- # 'cache_digests' gem being used (overrides Rails 4 implementation)
19
- CacheDigests::DependencyTracker.register_tracker :slim, CacheDigests::DependencyTracker::ERBTracker
20
-
21
- if ::Rails.env.development?
22
- # recalculate cache digest keys for each request
23
- CacheDigests::TemplateDigestor.cache = ActiveSupport::Cache::NullStore.new
24
- end
25
- elsif ::Rails.version.to_s >= "4.0"
26
- # will only apply if Rails 4, which includes 'action_view/dependency_tracker'
27
- require "action_view/dependency_tracker"
28
- ActionView::DependencyTracker.register_tracker :slim, ActionView::DependencyTracker::ERBTracker
19
+ require "action_view/dependency_tracker"
20
+ tracker = if defined?(ActionView::DependencyTracker::RubyTracker)
21
+ ActionView::DependencyTracker::RubyTracker
22
+ else
23
+ ActionView::DependencyTracker::ERBTracker
29
24
  end
25
+ ActionView::DependencyTracker.register_tracker :slim, tracker
30
26
  rescue
31
27
  # likely this version of Rails doesn't support dependency tracking
32
28
  end
@@ -43,14 +39,9 @@ module Slim
43
39
  end
44
40
 
45
41
  initializer "slim_rails.configure_source_annotation" do
46
- annotation_class = if ::Rails::VERSION::MAJOR >= 6
47
- require "rails/source_annotation_extractor"
48
- ::Rails::SourceAnnotationExtractor::Annotation
49
- else
50
- ::SourceAnnotationExtractor::Annotation
51
- end
42
+ require "rails/source_annotation_extractor"
52
43
 
53
- annotation_class.register_extensions("slim") do |tag|
44
+ ::Rails::SourceAnnotationExtractor::Annotation.register_extensions("slim") do |tag|
54
45
  /\s*\/\s*(#{tag}):?\s*(.*)$/
55
46
  end
56
47
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slim-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leonardo Almeida
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.1'
19
+ version: '7.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '3.1'
26
+ version: '7.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: railties
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '3.1'
33
+ version: '7.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '3.1'
40
+ version: '7.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: slim
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -65,49 +65,21 @@ dependencies:
65
65
  - !ruby/object:Gem::Version
66
66
  version: '6.0'
67
67
  - !ruby/object:Gem::Dependency
68
- name: slim_lint
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- version: 0.24.0
74
- type: :development
75
- prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: 0.24.0
81
- - !ruby/object:Gem::Dependency
82
- name: rocco
83
- requirement: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- version: '0'
88
- type: :development
89
- prerelease: false
90
- version_requirements: !ruby/object:Gem::Requirement
91
- requirements:
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: '0'
95
- - !ruby/object:Gem::Dependency
96
- name: redcarpet
68
+ name: actionmailer
97
69
  requirement: !ruby/object:Gem::Requirement
98
70
  requirements:
99
71
  - - ">="
100
72
  - !ruby/object:Gem::Version
101
- version: '0'
73
+ version: '7.0'
102
74
  type: :development
103
75
  prerelease: false
104
76
  version_requirements: !ruby/object:Gem::Requirement
105
77
  requirements:
106
78
  - - ">="
107
79
  - !ruby/object:Gem::Version
108
- version: '0'
80
+ version: '7.0'
109
81
  - !ruby/object:Gem::Dependency
110
- name: awesome_print
82
+ name: appraisal
111
83
  requirement: !ruby/object:Gem::Requirement
112
84
  requirements:
113
85
  - - ">="
@@ -121,21 +93,7 @@ dependencies:
121
93
  - !ruby/object:Gem::Version
122
94
  version: '0'
123
95
  - !ruby/object:Gem::Dependency
124
- name: actionmailer
125
- requirement: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
129
- version: '3.1'
130
- type: :development
131
- prerelease: false
132
- version_requirements: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - ">="
135
- - !ruby/object:Gem::Version
136
- version: '3.1'
137
- - !ruby/object:Gem::Dependency
138
- name: appraisal
96
+ name: standardrb
139
97
  requirement: !ruby/object:Gem::Requirement
140
98
  requirements:
141
99
  - - ">="
@@ -149,19 +107,19 @@ dependencies:
149
107
  - !ruby/object:Gem::Version
150
108
  version: '0'
151
109
  - !ruby/object:Gem::Dependency
152
- name: standardrb
110
+ name: slim_lint
153
111
  requirement: !ruby/object:Gem::Requirement
154
112
  requirements:
155
113
  - - ">="
156
114
  - !ruby/object:Gem::Version
157
- version: '0'
115
+ version: 0.24.0
158
116
  type: :development
159
117
  prerelease: false
160
118
  version_requirements: !ruby/object:Gem::Requirement
161
119
  requirements:
162
120
  - - ">="
163
121
  - !ruby/object:Gem::Version
164
- version: '0'
122
+ version: 0.24.0
165
123
  description: Provides the generator settings required for Rails to use Slim
166
124
  email:
167
125
  - lalmeida08@gmail.com
@@ -184,11 +142,6 @@ files:
184
142
  - lib/generators/slim/mailer/templates/layout.text.slim
185
143
  - lib/generators/slim/mailer/templates/view.html.slim
186
144
  - lib/generators/slim/mailer/templates/view.text.slim
187
- - lib/generators/slim/scaffold/legacy_templates/_form.html.slim.tt
188
- - lib/generators/slim/scaffold/legacy_templates/edit.html.slim.tt
189
- - lib/generators/slim/scaffold/legacy_templates/index.html.slim.tt
190
- - lib/generators/slim/scaffold/legacy_templates/new.html.slim.tt
191
- - lib/generators/slim/scaffold/legacy_templates/show.html.slim.tt
192
145
  - lib/generators/slim/scaffold/scaffold_generator.rb
193
146
  - lib/generators/slim/scaffold/templates/_form.html.slim.tt
194
147
  - lib/generators/slim/scaffold/templates/edit.html.slim.tt
@@ -202,7 +155,10 @@ files:
202
155
  homepage: https://github.com/slim-template/slim-rails
203
156
  licenses:
204
157
  - MIT
205
- metadata: {}
158
+ metadata:
159
+ homepage_uri: https://github.com/slim-template/slim-rails
160
+ source_code_uri: https://github.com/slim-template/slim-rails
161
+ changelog_uri: https://github.com/slim-template/slim-rails/releases
206
162
  rdoc_options: []
207
163
  require_paths:
208
164
  - lib
@@ -217,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
217
173
  - !ruby/object:Gem::Version
218
174
  version: '0'
219
175
  requirements: []
220
- rubygems_version: 3.7.2
176
+ rubygems_version: 4.0.20
221
177
  specification_version: 4
222
178
  summary: Slim templates generator for Rails
223
179
  test_files: []
@@ -1,14 +0,0 @@
1
- = form_for @<%= singular_table_name %> do |f|
2
- - if @<%= singular_table_name %>.errors.any?
3
- #error_explanation
4
- h2 = "#{pluralize(@<%= singular_table_name %>.errors.count, "error")} prohibited this <%= singular_table_name %> from being saved:"
5
- ul
6
- - @<%= singular_table_name %>.errors.full_messages.each do |message|
7
- li = message
8
-
9
- <% attributes.each do |attribute| -%>
10
- .field
11
- = f.label :<%= attribute.name %>
12
- = f.<%= attribute.field_type %> :<%= attribute.name %>
13
- <% end -%>
14
- .actions = f.submit
@@ -1,7 +0,0 @@
1
- h1 Editing <%= singular_table_name %>
2
-
3
- == render "form"
4
-
5
- => link_to "Show", @<%= singular_table_name %>
6
- '|
7
- =< link_to "Back", <%= index_helper %>_path
@@ -1,25 +0,0 @@
1
- h1 Listing <%= plural_table_name %>
2
-
3
- table
4
- thead
5
- tr
6
- <% attributes.each do |attribute| -%>
7
- th <%= attribute.human_name %>
8
- <% end -%>
9
- th
10
- th
11
- th
12
-
13
- tbody
14
- - @<%= plural_table_name %>.each do |<%= singular_table_name %>|
15
- tr
16
- <% attributes.each do |attribute| -%>
17
- td = <%= singular_table_name %>.<%= attribute.name %>
18
- <% end -%>
19
- td = link_to "Show", <%= singular_table_name %>
20
- td = link_to "Edit", edit_<%= singular_table_name %>_path(<%= singular_table_name %>)
21
- td = link_to "Destroy", <%= singular_table_name %>, data: {confirm: "Are you sure?"}, method: :delete
22
-
23
- br
24
-
25
- = link_to "New <%= human_name %>", new_<%= singular_table_name %>_path
@@ -1,5 +0,0 @@
1
- h1 New <%= singular_table_name %>
2
-
3
- == render "form"
4
-
5
- = link_to "Back", <%= index_helper %>_path
@@ -1,11 +0,0 @@
1
- p#notice = notice
2
- <% attributes.each do |attribute| -%>
3
-
4
- p
5
- strong <%= attribute.human_name %>:
6
- = @<%= singular_table_name %>.<%= attribute.name %>
7
- <% end -%>
8
-
9
- => link_to "Edit", edit_<%= singular_table_name %>_path(@<%= singular_table_name %>)
10
- '|
11
- =< link_to "Back", <%= index_helper %>_path