slim-rails 3.1.1 → 3.3.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.
- checksums.yaml +5 -5
- data/.travis.yml +35 -9
- data/Appraisals +16 -12
- data/CHANGELOG.md +42 -0
- data/README.md +4 -2
- data/gemfiles/{rails_5.gemfile → rails_5.0.gemfile} +2 -1
- data/gemfiles/rails_5.1.gemfile +8 -0
- data/gemfiles/{rails_4.1.gemfile → rails_5.2.gemfile} +2 -2
- data/gemfiles/{rails_4.2.gemfile → rails_6.0.gemfile} +2 -2
- data/gemfiles/{rails_4.gemfile → rails_6.1.gemfile} +2 -2
- data/gemfiles/rails_edge.gemfile +7 -0
- data/lib/generators/slim/mailer/templates/view.html.slim +1 -1
- data/lib/generators/slim/mailer/templates/view.text.slim +1 -1
- data/lib/generators/slim/scaffold/templates/_form.html.slim +1 -1
- data/lib/generators/slim/scaffold/templates/edit.html.slim +2 -3
- data/lib/generators/slim/scaffold/templates/show.html.slim +3 -3
- data/lib/slim-rails/register_engine.rb +26 -25
- data/lib/slim-rails/version.rb +1 -1
- data/slim-rails.gemspec +6 -5
- data/test/lib/generators/slim/controller_generator_test.rb +8 -0
- data/test/lib/generators/slim/mailer_generator_test.rb +50 -19
- data/test/lib/generators/slim/scaffold_generator_test.rb +8 -0
- data/test/lib/generators/slim/testing_helper.rb +10 -0
- data/test/lib/slim-rails_assets_test.rb +44 -4
- metadata +39 -16
- data/gemfiles/rails_3.gemfile +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4c09a72b540b1eeeb00a3fa4a3a35fa6cb34d064104a9a7155f14ecee5e7e39d
|
4
|
+
data.tar.gz: 2210937c961529642a2fc5ff485dd13de10f46694259d74d0521593182e095c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef5677b920c4a940df436fbad90dbf8e6e97b074f4c6b498a6b9f2b323588280ba5fc6f708dddf4459cb5cb609ea4af0fad03350fd1a013b3bb25b55fa468638
|
7
|
+
data.tar.gz: f77d561a26be9f8967ebd2e7ead43e01c9b9219c1445d88c9c09ca0f271326ca30ab920cb202ecf3cdc90f21edd5d51089f60c2d4d9c739d05ebcf45d186846e
|
data/.travis.yml
CHANGED
@@ -1,19 +1,45 @@
|
|
1
|
+
dist: focal
|
2
|
+
|
3
|
+
os: linux
|
4
|
+
|
1
5
|
language: ruby
|
6
|
+
|
7
|
+
cache:
|
8
|
+
bundler: true
|
9
|
+
|
2
10
|
before_install:
|
3
|
-
- gem
|
11
|
+
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
12
|
+
- gem install bundler -v '< 2'
|
13
|
+
|
4
14
|
rvm:
|
5
15
|
- ruby-head
|
6
|
-
-
|
7
|
-
- 2.
|
8
|
-
- 2.
|
16
|
+
- 3.0
|
17
|
+
- 2.7
|
18
|
+
- 2.6
|
19
|
+
|
9
20
|
gemfile:
|
10
|
-
- gemfiles/
|
11
|
-
- gemfiles/
|
12
|
-
- gemfiles/
|
13
|
-
- gemfiles/
|
14
|
-
|
21
|
+
- gemfiles/rails_edge.gemfile
|
22
|
+
- gemfiles/rails_6.1.gemfile
|
23
|
+
- gemfiles/rails_6.0.gemfile
|
24
|
+
- gemfiles/rails_5.2.gemfile
|
25
|
+
- gemfiles/rails_5.1.gemfile
|
26
|
+
- gemfiles/rails_5.0.gemfile
|
27
|
+
|
28
|
+
jobs:
|
15
29
|
allow_failures:
|
16
30
|
- rvm: ruby-head
|
31
|
+
- gemfile: gemfiles/rails_edge.gemfile
|
32
|
+
|
33
|
+
exclude:
|
34
|
+
- rvm: 3.0
|
35
|
+
gemfile: gemfiles/rails_5.2.gemfile
|
36
|
+
- rvm: 3.0
|
37
|
+
gemfile: gemfiles/rails_5.1.gemfile
|
38
|
+
- rvm: 3.0
|
39
|
+
gemfile: gemfiles/rails_5.0.gemfile
|
40
|
+
|
41
|
+
fast_finish: true
|
42
|
+
|
17
43
|
addons:
|
18
44
|
code_climate:
|
19
45
|
repo_token: 294f0ec8183176c0259b75eb21b38414508616985a7b39fc48fec9dfcf40a52e
|
data/Appraisals
CHANGED
@@ -1,21 +1,25 @@
|
|
1
|
-
appraise "rails-
|
2
|
-
gem "rails", "~>
|
3
|
-
gem
|
4
|
-
gem 'test-unit', '~> 3.0'
|
1
|
+
appraise "rails-5.0" do
|
2
|
+
gem "rails", "~> 5.0.0"
|
3
|
+
gem "sprockets", "~> 3.7"
|
5
4
|
end
|
6
5
|
|
7
|
-
appraise "rails-
|
8
|
-
gem "rails", "~>
|
6
|
+
appraise "rails-5.1" do
|
7
|
+
gem "rails", "~> 5.1.0"
|
8
|
+
gem "sprockets", "~> 3.7"
|
9
9
|
end
|
10
10
|
|
11
|
-
appraise "rails-
|
12
|
-
gem "rails", "~>
|
11
|
+
appraise "rails-5.2" do
|
12
|
+
gem "rails", "~> 5.2.0"
|
13
13
|
end
|
14
14
|
|
15
|
-
appraise "rails-
|
16
|
-
gem "rails", "~>
|
15
|
+
appraise "rails-6.0" do
|
16
|
+
gem "rails", "~> 6.0.3"
|
17
17
|
end
|
18
18
|
|
19
|
-
appraise "rails-
|
20
|
-
|
19
|
+
appraise "rails-6.1" do
|
20
|
+
gem "rails", "~> 6.1.3"
|
21
|
+
end
|
22
|
+
|
23
|
+
appraise "rails-edge" do
|
24
|
+
gem "rails", github: 'rails/rails'
|
21
25
|
end
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
## 3.3.0 (July 19, 2021)
|
2
|
+
|
3
|
+
* Enabled asset helpers in precompiled templates (#135)
|
4
|
+
* Tested with Rails 6.0, 6.1 and Ruby 3.0
|
5
|
+
* Improved CI and tests with Sprockets 4
|
6
|
+
|
7
|
+
|
8
|
+
## 3.2.0 (October 7, 2018)
|
9
|
+
|
10
|
+
* Support for Slim 4
|
11
|
+
|
12
|
+
|
13
|
+
## 3.1.3 (April 3, 2017)
|
14
|
+
|
15
|
+
* Improved compatibility with Sprockets 4
|
16
|
+
|
17
|
+
|
18
|
+
## 3.1.2 (February 3, 2017)
|
19
|
+
|
20
|
+
* Tested compatibility with Ruby 2.4
|
21
|
+
* Updated CI specs
|
22
|
+
|
23
|
+
|
24
|
+
## 3.1.1 (August 29, 2016)
|
25
|
+
|
26
|
+
* Initial support for Sprockets 4
|
27
|
+
|
28
|
+
|
29
|
+
## 3.1.0 (June 7, 2016)
|
30
|
+
|
31
|
+
* Support for Rails 5
|
32
|
+
* MailerGenerator
|
33
|
+
|
34
|
+
|
35
|
+
## 3.0.2 (May 21, 2016)
|
36
|
+
|
37
|
+
* Code cleanup and refactoring
|
38
|
+
|
39
|
+
|
40
|
+
## 3.0.1 (December 26, 2014)
|
41
|
+
|
42
|
+
* Support for Rails 4.2
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# slim-rails [](http://rubygems.org/gems/slim-rails) [](https://travis-ci.org/slim-template/slim-rails) [](https://codeclimate.com/github/slim-template/slim-rails)
|
2
2
|
|
3
3
|
slim-rails provides Slim generators for Rails 3+. It was based on
|
4
4
|
[haml-rails](http://github.com/indirect/haml-rails) and it does basically the
|
@@ -18,6 +18,8 @@ gem "slim-rails"
|
|
18
18
|
|
19
19
|
And that's it.
|
20
20
|
|
21
|
+
If you have existing `.erb` templates, check out [our guide](https://github.com/slim-template/slim/wiki/Template-Converters-ERB-to-SLIM) on how to achieve this.
|
22
|
+
|
21
23
|
From the version 0.2.0, there is no need to include gem "slim" in your Gemfile.
|
22
24
|
|
23
|
-
Every time you generate a controller or scaffold, you'll get Slim templates.
|
25
|
+
Every time you generate a controller or scaffold, you'll get Slim templates.
|
@@ -1,2 +1,2 @@
|
|
1
1
|
h1 <%= class_name %>#<%= @action %>
|
2
|
-
p = @greeting
|
2
|
+
p = "#{@greeting}, find me in <%= @path %>"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
= form_for @<%= singular_table_name %> do |f|
|
2
2
|
- if @<%= singular_table_name %>.errors.any?
|
3
3
|
#error_explanation
|
4
|
-
h2 = "#{pluralize(@<%= singular_table_name %>.errors.count,
|
4
|
+
h2 = "#{pluralize(@<%= singular_table_name %>.errors.count, 'error')} prohibited this <%= singular_table_name %> from being saved:"
|
5
5
|
ul
|
6
6
|
- @<%= singular_table_name %>.errors.full_messages.each do |message|
|
7
7
|
li = message
|
@@ -1,11 +1,11 @@
|
|
1
1
|
p#notice = notice
|
2
|
-
|
3
2
|
<% attributes.each do |attribute| -%>
|
3
|
+
|
4
4
|
p
|
5
5
|
strong <%= attribute.human_name %>:
|
6
6
|
= @<%= singular_table_name %>.<%= attribute.name %>
|
7
7
|
<% end -%>
|
8
8
|
|
9
|
-
|
9
|
+
=> link_to 'Edit', edit_<%= singular_table_name %>_path(@<%= singular_table_name %>)
|
10
10
|
'|
|
11
|
-
|
11
|
+
=< link_to 'Back', <%= index_helper %>_path
|
@@ -3,40 +3,41 @@ module Slim
|
|
3
3
|
module RegisterEngine
|
4
4
|
class Transformer
|
5
5
|
def self.call(input)
|
6
|
-
|
6
|
+
context = input[:environment].context_class.new(input)
|
7
|
+
Slim::Template.new(input[:name]) { input[:data] }.render(context)
|
7
8
|
end
|
8
9
|
end
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
class << self
|
12
|
+
def register_engine(app, config)
|
13
|
+
if ::Rails::VERSION::MAJOR == 3
|
14
|
+
_register_engine3(app)
|
15
|
+
else
|
16
|
+
_register_engine(config)
|
17
|
+
end
|
15
18
|
end
|
16
|
-
end
|
17
|
-
|
18
|
-
private
|
19
19
|
|
20
|
-
|
21
|
-
return unless app.assets
|
22
|
-
return unless app.assets.respond_to?(:register_engine)
|
20
|
+
private
|
23
21
|
|
24
|
-
app
|
25
|
-
|
22
|
+
def _register_engine3(app)
|
23
|
+
return unless app.assets
|
24
|
+
return unless app.assets.respond_to?(:register_engine)
|
26
25
|
|
27
|
-
|
28
|
-
|
26
|
+
app.assets.register_engine('.slim', Slim::Template)
|
27
|
+
end
|
29
28
|
|
30
|
-
config
|
31
|
-
|
32
|
-
env.register_mime_type 'text/slim', extensions: ['.slim', '.slim.html']#, charset: :html
|
33
|
-
env.register_preprocessor 'text/slim', 'text/html', RegisterEngine::Transformer
|
34
|
-
end
|
29
|
+
def _register_engine(config)
|
30
|
+
return unless config.respond_to?(:assets)
|
35
31
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
32
|
+
config.assets.configure do |env|
|
33
|
+
if env.respond_to?(:register_transformer) && Sprockets::VERSION.to_i > 3
|
34
|
+
env.register_mime_type 'text/slim', extensions: ['.slim', '.slim.html']#, charset: :html
|
35
|
+
env.register_transformer 'text/slim', 'text/html', RegisterEngine::Transformer
|
36
|
+
elsif env.respond_to?(:register_engine)
|
37
|
+
args = ['.slim', Slim::Template]
|
38
|
+
args << { silence_deprecation: true } if Sprockets::VERSION.start_with?('3')
|
39
|
+
env.register_engine(*args)
|
40
|
+
end
|
40
41
|
end
|
41
42
|
end
|
42
43
|
end
|
data/lib/slim-rails/version.rb
CHANGED
data/slim-rails.gemspec
CHANGED
@@ -6,11 +6,11 @@ require 'slim-rails/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'slim-rails'
|
8
8
|
spec.version = Slim::Rails::VERSION
|
9
|
-
spec.authors = ["Leonardo Almeida"]
|
10
|
-
spec.email = ["lalmeida08@gmail.com"]
|
9
|
+
spec.authors = ["Leonardo Almeida", "Janusz Mordarski"]
|
10
|
+
spec.email = ["lalmeida08@gmail.com", "janusz.m@gmail.com"]
|
11
11
|
|
12
|
-
spec.summary = 'Slim templates generator for Rails
|
13
|
-
spec.description = 'Provides the generator settings required for Rails
|
12
|
+
spec.summary = 'Slim templates generator for Rails'
|
13
|
+
spec.description = 'Provides the generator settings required for Rails to use Slim'
|
14
14
|
spec.homepage = 'https://github.com/slim-template/slim-rails'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
@@ -23,9 +23,10 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.add_runtime_dependency 'actionpack', ['>= 3.1']
|
25
25
|
spec.add_runtime_dependency 'railties', ['>= 3.1']
|
26
|
-
spec.add_runtime_dependency 'slim', ['
|
26
|
+
spec.add_runtime_dependency 'slim', ['>= 3.0', '< 5.0']
|
27
27
|
|
28
28
|
spec.add_development_dependency 'sprockets-rails'
|
29
|
+
spec.add_development_dependency 'slim_lint', '~> 0.21.0'
|
29
30
|
spec.add_development_dependency 'rocco'
|
30
31
|
spec.add_development_dependency 'redcarpet'
|
31
32
|
spec.add_development_dependency 'awesome_print'
|
@@ -2,6 +2,8 @@ require 'test_helper'
|
|
2
2
|
require 'lib/generators/slim/testing_helper'
|
3
3
|
|
4
4
|
class Slim::Generators::ControllerGeneratorTest < Rails::Generators::TestCase
|
5
|
+
include SlimLintHelpers
|
6
|
+
|
5
7
|
destination File.join(Rails.root)
|
6
8
|
tests Rails::Generators::ControllerGenerator
|
7
9
|
arguments %w(Account foo bar --template-engine slim)
|
@@ -14,4 +16,10 @@ class Slim::Generators::ControllerGeneratorTest < Rails::Generators::TestCase
|
|
14
16
|
assert_file File.join("app", "views", "account", "foo.html.slim"), %r(app/views/account/foo\.html\.slim)
|
15
17
|
assert_file File.join("app", "views", "account", "bar.html.slim"), %r(app/views/account/bar\.html\.slim)
|
16
18
|
end
|
19
|
+
|
20
|
+
test "should generate SlimLint valid templates" do
|
21
|
+
run_generator
|
22
|
+
templates = Dir[File.join(Rails.root, 'app', 'views', '**', '*.slim')]
|
23
|
+
assert_empty lint(templates)
|
24
|
+
end
|
17
25
|
end
|
@@ -2,6 +2,8 @@ require 'test_helper'
|
|
2
2
|
require 'lib/generators/slim/testing_helper'
|
3
3
|
|
4
4
|
class Slim::Generators::MailerGeneratorTest < Rails::Generators::TestCase
|
5
|
+
include SlimLintHelpers
|
6
|
+
|
5
7
|
destination File.join(Rails.root)
|
6
8
|
tests Rails::Generators::MailerGenerator
|
7
9
|
arguments %w(notifier foo bar --template-engine slim)
|
@@ -12,36 +14,65 @@ class Slim::Generators::MailerGeneratorTest < Rails::Generators::TestCase
|
|
12
14
|
test "should invoke template engine" do
|
13
15
|
run_generator
|
14
16
|
|
15
|
-
|
17
|
+
rails_version = ::Rails.version.to_s
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
+
if rails_version >= '5.0'
|
20
|
+
assert_file "app/views/notifier_mailer/foo.html.slim" do |view|
|
21
|
+
assert_match %r(app/views/notifier_mailer/foo\.html\.slim), view
|
22
|
+
assert_match(/\#\{@greeting/, view)
|
19
23
|
end
|
20
24
|
|
21
|
-
assert_file "app/views/
|
22
|
-
assert_match(
|
25
|
+
assert_file "app/views/notifier_mailer/bar.html.slim" do |view|
|
26
|
+
assert_match %r(app/views/notifier_mailer/bar\.html\.slim), view
|
27
|
+
assert_match(/\#\{@greeting/, view)
|
23
28
|
end
|
24
29
|
|
25
|
-
assert_file "app/views/
|
26
|
-
assert_match %r(app/views/
|
27
|
-
assert_match(
|
30
|
+
assert_file "app/views/notifier_mailer/foo.text.slim" do |view|
|
31
|
+
assert_match %r(app/views/notifier_mailer/foo\.text\.slim), view
|
32
|
+
assert_match(/@greeting/, view)
|
28
33
|
end
|
29
34
|
|
30
|
-
assert_file "app/views/
|
31
|
-
assert_match %r(app/views/
|
32
|
-
assert_match(
|
35
|
+
assert_file "app/views/notifier_mailer/bar.text.slim" do |view|
|
36
|
+
assert_match %r(app/views/notifier_mailer/bar\.text\.slim), view
|
37
|
+
assert_match(/@greeting/, view)
|
33
38
|
end
|
39
|
+
else
|
40
|
+
if rails_version >= '4.2'
|
41
|
+
assert_file "app/views/layouts/mailer.text.slim" do |view|
|
42
|
+
assert_match(/\= yield/, view)
|
43
|
+
end
|
34
44
|
|
35
|
-
|
45
|
+
assert_file "app/views/layouts/mailer.html.slim" do |view|
|
46
|
+
assert_match(/\= yield/, view)
|
47
|
+
end
|
36
48
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
49
|
+
assert_file "app/views/notifier/foo.html.slim" do |view|
|
50
|
+
assert_match %r(app/views/notifier/foo\.html\.slim), view
|
51
|
+
assert_match(/\#\{@greeting/, view)
|
52
|
+
end
|
53
|
+
|
54
|
+
assert_file "app/views/notifier/bar.html.slim" do |view|
|
55
|
+
assert_match %r(app/views/notifier/bar\.html\.slim), view
|
56
|
+
assert_match(/\#\{@greeting/, view)
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
41
60
|
|
42
|
-
|
43
|
-
|
44
|
-
|
61
|
+
assert_file "app/views/notifier/foo.text.slim" do |view|
|
62
|
+
assert_match %r(app/views/notifier/foo\.text\.slim), view
|
63
|
+
assert_match(/@greeting/, view)
|
64
|
+
end
|
65
|
+
|
66
|
+
assert_file "app/views/notifier/bar.text.slim" do |view|
|
67
|
+
assert_match %r(app/views/notifier/bar\.text\.slim), view
|
68
|
+
assert_match(/@greeting/, view)
|
69
|
+
end
|
45
70
|
end
|
46
71
|
end
|
72
|
+
|
73
|
+
test "should generate SlimLint valid templates" do
|
74
|
+
run_generator
|
75
|
+
templates = Dir[File.join(Rails.root, 'app', 'views', '**', '*.slim')]
|
76
|
+
assert_empty lint(templates)
|
77
|
+
end
|
47
78
|
end
|
@@ -2,6 +2,8 @@ require 'test_helper'
|
|
2
2
|
require 'lib/generators/slim/testing_helper'
|
3
3
|
|
4
4
|
class Slim::Generators::ScaffoldGeneratorTest < Rails::Generators::TestCase
|
5
|
+
include SlimLintHelpers
|
6
|
+
|
5
7
|
destination File.join(Rails.root)
|
6
8
|
tests Rails::Generators::ScaffoldGenerator
|
7
9
|
arguments %w(product_line title:string price:integer --template-engine slim --orm active-record)
|
@@ -23,4 +25,10 @@ class Slim::Generators::ScaffoldGeneratorTest < Rails::Generators::TestCase
|
|
23
25
|
assert_no_file File.join "app", "views", "product_lines"
|
24
26
|
assert_no_file File.join "app", "views", "layouts", "product_lines.html.slim"
|
25
27
|
end
|
28
|
+
|
29
|
+
test "should generate SlimLint valid templates" do
|
30
|
+
run_generator
|
31
|
+
templates = Dir[File.join(Rails.root, 'app', 'views', '**', '*.slim')]
|
32
|
+
assert_empty lint(templates)
|
33
|
+
end
|
26
34
|
end
|
@@ -1 +1,11 @@
|
|
1
|
+
require 'slim_lint'
|
2
|
+
|
3
|
+
module SlimLintHelpers
|
4
|
+
EXCLUDED_LINTERS = %w[LineLength]
|
5
|
+
|
6
|
+
def lint(templates)
|
7
|
+
SlimLint::Runner.new.run(files: templates, excluded_linters: EXCLUDED_LINTERS).lints.map(&:message)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
1
11
|
require_generators slim: ['scaffold', 'controller', 'mailer']
|
@@ -1,9 +1,14 @@
|
|
1
|
+
require 'sprockets'
|
1
2
|
require 'test_helper'
|
2
3
|
require 'tmpdir'
|
3
4
|
|
4
5
|
class Slim::Rails::AssetsTest < ActiveSupport::TestCase
|
5
6
|
def with_app(use_sprockets, code)
|
6
7
|
Dir.mktmpdir do |dir|
|
8
|
+
manifest_path = File.join(dir, 'app', 'assets', 'config', 'manifest.js')
|
9
|
+
FileUtils.mkdir_p(File.dirname(manifest_path))
|
10
|
+
File.write(manifest_path, '//= link_tree ../html .slim')
|
11
|
+
|
7
12
|
app_path = File.join(dir, 'app.rb')
|
8
13
|
File.write(app_path, <<-APP)
|
9
14
|
require 'rails'
|
@@ -11,22 +16,57 @@ class Slim::Rails::AssetsTest < ActiveSupport::TestCase
|
|
11
16
|
require 'slim-rails'
|
12
17
|
class DummyApp < ::Rails::Application
|
13
18
|
config.root = #{dir.inspect}
|
14
|
-
config.assets.enabled = true
|
19
|
+
config.assets.enabled = true if #{use_sprockets}
|
20
|
+
config.eager_load = false
|
15
21
|
end
|
16
22
|
DummyApp.initialize!
|
17
23
|
#{code}
|
18
24
|
APP
|
19
25
|
|
26
|
+
if use_sprockets && Sprockets::VERSION.to_i >= 4
|
27
|
+
manifest_path = File.join(dir, 'app', 'assets', 'config', 'manifest.js')
|
28
|
+
FileUtils.mkdir_p(File.dirname(manifest_path))
|
29
|
+
File.write(manifest_path, '')
|
30
|
+
end
|
31
|
+
|
20
32
|
asset_path = File.join(dir, 'app', 'assets', 'html', 'test.slim')
|
21
33
|
FileUtils.mkdir_p(File.dirname(asset_path))
|
22
34
|
File.write(asset_path, ".test\n | hi")
|
23
35
|
|
36
|
+
asset_path = File.join(dir, 'app', 'assets', 'html', 'test_helpers.slim')
|
37
|
+
File.write(asset_path, '= logical_path')
|
38
|
+
|
24
39
|
`BUNDLE_GEMFILE=#{ENV['BUNDLE_GEMFILE']} bundle exec ruby #{app_path}`
|
25
40
|
end
|
26
41
|
end
|
27
42
|
|
28
|
-
test
|
29
|
-
assert_equal '
|
30
|
-
|
43
|
+
test "should work without Sprockets" do
|
44
|
+
assert_equal '', with_app(false, 'DummyApp.assets')
|
45
|
+
end
|
46
|
+
|
47
|
+
test "should return HTML version when passing 'text/html' content type" do
|
48
|
+
assert_equal '<div class="test">hi</div>', with_app(true, 'print DummyApp.assets["test", accept: "text/html"]')
|
49
|
+
end
|
50
|
+
|
51
|
+
if Sprockets::VERSION.to_i < 4
|
52
|
+
test "should return HTML version when passing '.slim' extension" do
|
53
|
+
assert_equal '<div class="test">hi</div>', with_app(true, 'print DummyApp.assets["test.slim"]')
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
if Sprockets::VERSION.to_i >= 3
|
58
|
+
test "should return HTML version when passing '.html' extension" do
|
59
|
+
assert_equal '<div class="test">hi</div>', with_app(true, 'print DummyApp.assets["test.html"]')
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
if Sprockets::VERSION.to_i >= 4
|
64
|
+
test "should return Slim version when passing '.slim' extension" do
|
65
|
+
assert_equal ".test\n | hi", with_app(true, 'print DummyApp.assets["test.slim"]')
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
test "should work with asset helpers" do
|
70
|
+
assert_equal 'test_helpers', with_app(true, 'print DummyApp.assets["test_helpers", accept: "text/html"]')
|
31
71
|
end
|
32
72
|
end
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slim-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Leonardo Almeida
|
8
|
-
|
8
|
+
- Janusz Mordarski
|
9
|
+
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2021-07-19 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: actionpack
|
@@ -42,16 +43,22 @@ dependencies:
|
|
42
43
|
name: slim
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
44
45
|
requirements:
|
45
|
-
- - "
|
46
|
+
- - ">="
|
46
47
|
- !ruby/object:Gem::Version
|
47
48
|
version: '3.0'
|
49
|
+
- - "<"
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '5.0'
|
48
52
|
type: :runtime
|
49
53
|
prerelease: false
|
50
54
|
version_requirements: !ruby/object:Gem::Requirement
|
51
55
|
requirements:
|
52
|
-
- - "
|
56
|
+
- - ">="
|
53
57
|
- !ruby/object:Gem::Version
|
54
58
|
version: '3.0'
|
59
|
+
- - "<"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '5.0'
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: sprockets-rails
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +73,20 @@ dependencies:
|
|
66
73
|
- - ">="
|
67
74
|
- !ruby/object:Gem::Version
|
68
75
|
version: '0'
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: slim_lint
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.21.0
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.21.0
|
69
90
|
- !ruby/object:Gem::Dependency
|
70
91
|
name: rocco
|
71
92
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,9 +157,10 @@ dependencies:
|
|
136
157
|
- - ">="
|
137
158
|
- !ruby/object:Gem::Version
|
138
159
|
version: '0'
|
139
|
-
description: Provides the generator settings required for Rails
|
160
|
+
description: Provides the generator settings required for Rails to use Slim
|
140
161
|
email:
|
141
162
|
- lalmeida08@gmail.com
|
163
|
+
- janusz.m@gmail.com
|
142
164
|
executables: []
|
143
165
|
extensions: []
|
144
166
|
extra_rdoc_files: []
|
@@ -146,15 +168,17 @@ files:
|
|
146
168
|
- ".gitignore"
|
147
169
|
- ".travis.yml"
|
148
170
|
- Appraisals
|
171
|
+
- CHANGELOG.md
|
149
172
|
- Gemfile
|
150
173
|
- LICENSE
|
151
174
|
- README.md
|
152
175
|
- Rakefile
|
153
|
-
- gemfiles/
|
154
|
-
- gemfiles/
|
155
|
-
- gemfiles/
|
156
|
-
- gemfiles/
|
157
|
-
- gemfiles/
|
176
|
+
- gemfiles/rails_5.0.gemfile
|
177
|
+
- gemfiles/rails_5.1.gemfile
|
178
|
+
- gemfiles/rails_5.2.gemfile
|
179
|
+
- gemfiles/rails_6.0.gemfile
|
180
|
+
- gemfiles/rails_6.1.gemfile
|
181
|
+
- gemfiles/rails_edge.gemfile
|
158
182
|
- lib/generators/slim/controller/controller_generator.rb
|
159
183
|
- lib/generators/slim/controller/templates/view.html.slim
|
160
184
|
- lib/generators/slim/mailer/mailer_generator.rb
|
@@ -183,7 +207,7 @@ homepage: https://github.com/slim-template/slim-rails
|
|
183
207
|
licenses:
|
184
208
|
- MIT
|
185
209
|
metadata: {}
|
186
|
-
post_install_message:
|
210
|
+
post_install_message:
|
187
211
|
rdoc_options: []
|
188
212
|
require_paths:
|
189
213
|
- lib
|
@@ -198,11 +222,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
222
|
- !ruby/object:Gem::Version
|
199
223
|
version: '0'
|
200
224
|
requirements: []
|
201
|
-
|
202
|
-
|
203
|
-
signing_key:
|
225
|
+
rubygems_version: 3.1.6
|
226
|
+
signing_key:
|
204
227
|
specification_version: 4
|
205
|
-
summary: Slim templates generator for Rails
|
228
|
+
summary: Slim templates generator for Rails
|
206
229
|
test_files:
|
207
230
|
- test/fixtures/routes.rb
|
208
231
|
- test/lib/generators/slim/controller_generator_test.rb
|