slim 5.1.0 → 5.2.0

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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +28 -5
  3. data/CHANGES +12 -1
  4. data/Gemfile +6 -7
  5. data/README.jp.md +19 -29
  6. data/README.md +43 -28
  7. data/Rakefile +1 -1
  8. data/lib/slim/code_attributes.rb +2 -1
  9. data/lib/slim/command.rb +2 -8
  10. data/lib/slim/controls.rb +1 -0
  11. data/lib/slim/do_inserter.rb +3 -2
  12. data/lib/slim/embedded.rb +6 -7
  13. data/lib/slim/end_inserter.rb +1 -0
  14. data/lib/slim/engine.rb +1 -0
  15. data/lib/slim/erb_converter.rb +1 -0
  16. data/lib/slim/filter.rb +1 -0
  17. data/lib/slim/grammar.rb +1 -0
  18. data/lib/slim/include.rb +1 -0
  19. data/lib/slim/interpolation.rb +1 -0
  20. data/lib/slim/logic_less/context.rb +6 -7
  21. data/lib/slim/logic_less/filter.rb +1 -0
  22. data/lib/slim/logic_less.rb +1 -0
  23. data/lib/slim/parser.rb +17 -10
  24. data/lib/slim/railtie.rb +3 -1
  25. data/lib/slim/smart/escaper.rb +1 -1
  26. data/lib/slim/smart/filter.rb +3 -2
  27. data/lib/slim/smart/parser.rb +4 -3
  28. data/lib/slim/smart.rb +1 -0
  29. data/lib/slim/splat/builder.rb +10 -8
  30. data/lib/slim/splat/filter.rb +4 -3
  31. data/lib/slim/template.rb +1 -0
  32. data/lib/slim/translator.rb +4 -3
  33. data/lib/slim/version.rb +2 -1
  34. data/lib/slim.rb +1 -0
  35. data/slim.gemspec +1 -1
  36. data/test/core/helper.rb +3 -11
  37. data/test/core/test_commands.rb +11 -15
  38. data/test/core/test_encoding.rb +2 -2
  39. data/test/core/test_html_structure.rb +48 -0
  40. data/test/core/test_ruby_errors.rb +19 -0
  41. data/test/literate/helper.rb +1 -1
  42. data/test/literate/run.rb +1 -1
  43. data/test/logic_less/test_logic_less.rb +15 -0
  44. data/test/rails/app/controllers/slim_controller.rb +7 -1
  45. data/test/rails/app/views/layouts/application.html+testvariant.slim +10 -0
  46. data/test/rails/app/views/slim/attributes.html.slim +3 -0
  47. data/test/rails/app/views/slim/splat_with_delimiter.slim +1 -0
  48. data/test/rails/config/application.rb +1 -1
  49. data/test/rails/test/test_slim.rb +18 -0
  50. metadata +11 -14
@@ -9,6 +9,14 @@ class TestSlim < ActionDispatch::IntegrationTest
9
9
  assert_html "<h1>Hello Slim!</h1>"
10
10
  end
11
11
 
12
+ test "variant" do
13
+ get "/slim/variant"
14
+ assert_response :success
15
+ assert_template "slim/normal"
16
+ assert_template "layouts/application"
17
+ assert_equal @response.body, "<!DOCTYPE html><html><head><title>Variant</title></head><body><div class=\"content\"><h1>Hello Slim!</h1></div></body></html>"
18
+ end
19
+
12
20
  test "xml view" do
13
21
  get "/slim/xml"
14
22
  assert_response :success
@@ -77,8 +85,18 @@ class TestSlim < ActionDispatch::IntegrationTest
77
85
  assert_xpath '//input[@id="entry_name" and @name="entry[name]" and @type="text"]'
78
86
  end
79
87
 
88
+ test "attributes" do
89
+ get "/slim/attributes"
90
+ assert_html "<div class=\"static a-b\"></div>"
91
+ end
92
+
80
93
  test "splat" do
81
94
  get "/slim/splat"
82
95
  assert_html "<div id=\"splat\"><splat>Hello</splat></div>"
83
96
  end
97
+
98
+ test "splat with delimiter" do
99
+ get "/slim/splat_with_delimiter"
100
+ assert_html "<div class=\"cute nice\">Hello</div>"
101
+ end
84
102
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slim
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.0
4
+ version: 5.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Mendler
8
8
  - Andrew Stone
9
9
  - Fred Wu
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-03-06 00:00:00.000000000 Z
13
+ date: 2023-11-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: temple
@@ -32,20 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: 2.0.6
36
- - - "<"
37
- - !ruby/object:Gem::Version
38
- version: '2.2'
35
+ version: 2.1.0
39
36
  type: :runtime
40
37
  prerelease: false
41
38
  version_requirements: !ruby/object:Gem::Requirement
42
39
  requirements:
43
40
  - - ">="
44
41
  - !ruby/object:Gem::Version
45
- version: 2.0.6
46
- - - "<"
47
- - !ruby/object:Gem::Version
48
- version: '2.2'
42
+ version: 2.1.0
49
43
  description: Slim is a template language whose goal is reduce the syntax to the essential
50
44
  parts without becoming cryptic.
51
45
  email:
@@ -142,8 +136,10 @@ files:
142
136
  - test/rails/app/helpers/application_helper.rb
143
137
  - test/rails/app/models/entry.rb
144
138
  - test/rails/app/views/entries/edit.html.slim
139
+ - test/rails/app/views/layouts/application.html+testvariant.slim
145
140
  - test/rails/app/views/layouts/application.html.slim
146
141
  - test/rails/app/views/slim/_partial.html.slim
142
+ - test/rails/app/views/slim/attributes.html.slim
147
143
  - test/rails/app/views/slim/content_for.html.slim
148
144
  - test/rails/app/views/slim/erb.html.erb
149
145
  - test/rails/app/views/slim/form_for.html.slim
@@ -153,6 +149,7 @@ files:
153
149
  - test/rails/app/views/slim/normal.html.slim
154
150
  - test/rails/app/views/slim/partial.html.slim
155
151
  - test/rails/app/views/slim/splat.html.slim
152
+ - test/rails/app/views/slim/splat_with_delimiter.slim
156
153
  - test/rails/app/views/slim/thread_options.html.slim
157
154
  - test/rails/app/views/slim/variables.html.slim
158
155
  - test/rails/app/views/slim/xml.slim
@@ -185,7 +182,7 @@ homepage: http://github.com/slim-template/slim/
185
182
  licenses:
186
183
  - MIT
187
184
  metadata: {}
188
- post_install_message:
185
+ post_install_message:
189
186
  rdoc_options: []
190
187
  require_paths:
191
188
  - lib
@@ -200,8 +197,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
200
197
  - !ruby/object:Gem::Version
201
198
  version: '0'
202
199
  requirements: []
203
- rubygems_version: 3.2.5
204
- signing_key:
200
+ rubygems_version: 3.4.20
201
+ signing_key:
205
202
  specification_version: 4
206
203
  summary: Slim is a template language.
207
204
  test_files: []