slim-rails 3.3.0 → 3.4.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 +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/generators/slim/scaffold/scaffold_generator.rb +5 -2
- data/lib/generators/slim/scaffold/templates/_form.html.slim.tt +28 -0
- data/lib/generators/slim/scaffold/templates/edit.html.slim.tt +10 -0
- data/lib/generators/slim/scaffold/templates/index.html.slim.tt +11 -0
- data/lib/generators/slim/scaffold/templates/new.html.slim.tt +8 -0
- data/lib/generators/slim/scaffold/templates/partial.html.slim.tt +14 -0
- data/lib/generators/slim/scaffold/templates/show.html.slim.tt +10 -0
- data/lib/slim-rails/version.rb +1 -1
- metadata +10 -35
- data/.gitignore +0 -20
- data/.travis.yml +0 -45
- data/Appraisals +0 -25
- data/Gemfile +0 -3
- data/Rakefile +0 -12
- data/gemfiles/rails_5.0.gemfile +0 -8
- data/gemfiles/rails_5.1.gemfile +0 -8
- data/gemfiles/rails_5.2.gemfile +0 -7
- data/gemfiles/rails_6.0.gemfile +0 -7
- data/gemfiles/rails_6.1.gemfile +0 -7
- data/gemfiles/rails_edge.gemfile +0 -7
- data/lib/generators/slim/scaffold/templates/_form.html.slim +0 -14
- data/lib/generators/slim/scaffold/templates/edit.html.slim +0 -7
- data/lib/generators/slim/scaffold/templates/index.html.slim +0 -25
- data/lib/generators/slim/scaffold/templates/new.html.slim +0 -5
- data/lib/generators/slim/scaffold/templates/show.html.slim +0 -11
- data/slim-rails.gemspec +0 -35
- data/test/fixtures/routes.rb +0 -58
- data/test/lib/generators/slim/controller_generator_test.rb +0 -25
- data/test/lib/generators/slim/mailer_generator_test.rb +0 -78
- data/test/lib/generators/slim/scaffold_generator_test.rb +0 -34
- data/test/lib/generators/slim/testing_helper.rb +0 -11
- data/test/lib/slim-rails_assets_test.rb +0 -72
- data/test/test_helper.rb +0 -66
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d672f03fbbe43effd0e993addabdd6ab61bbda0038edee278359483363caa98
|
4
|
+
data.tar.gz: 98e150a881b76c14f4304728124366b44ce3d4335b9cb732cd6bbe6668c6011f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4e81e2fe65f34fb318c40bf799dff4498010699a4721014f0b9c2e648c7e14ea6e19c1dd95c7e12aade2d82e7043cb1885560759874efd4e15f19a006109b55
|
7
|
+
data.tar.gz: db4ed0ed081659fdd329345054bcdf1252437b69c8433aa045a1ede11211d0cda09e8754cca43a4a929226ba802637eccbc9fbb3988738761960d28ae8690a0d
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,7 @@ require 'rails/generators/erb/scaffold/scaffold_generator'
|
|
2
2
|
|
3
3
|
module Slim
|
4
4
|
module Generators
|
5
|
-
class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator
|
5
|
+
class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator # :nodoc:
|
6
6
|
source_root File.expand_path(File.join('..', 'templates'), __FILE__)
|
7
7
|
|
8
8
|
def copy_view_files
|
@@ -10,13 +10,16 @@ module Slim
|
|
10
10
|
filename = filename_with_extensions view
|
11
11
|
template "#{view}.html.slim", File.join('app', 'views', controller_file_path, filename)
|
12
12
|
end
|
13
|
+
|
14
|
+
template 'partial.html.slim', File.join('app/views', controller_file_path, "_#{singular_name}.html.slim")
|
13
15
|
end
|
14
16
|
|
15
17
|
hook_for :form_builder, as: :scaffold
|
16
18
|
|
17
19
|
protected
|
20
|
+
|
18
21
|
def available_views
|
19
|
-
[
|
22
|
+
%w[index edit show new _form]
|
20
23
|
end
|
21
24
|
|
22
25
|
def handler
|
@@ -0,0 +1,28 @@
|
|
1
|
+
= form_with(model: @<%= model_resource_name %>) do |form|
|
2
|
+
- if @<%= singular_table_name %>.errors.any?
|
3
|
+
div style="color: red"
|
4
|
+
h2 = "#{pluralize(@<%= singular_table_name %>.errors.count, 'error')} prohibited this <%= singular_table_name %> from being saved:"
|
5
|
+
ul
|
6
|
+
- @<%= singular_table_name %>.errors.each do |error|
|
7
|
+
li = error.full_message
|
8
|
+
|
9
|
+
<% attributes.each do |attribute| -%>
|
10
|
+
div
|
11
|
+
<% if attribute.password_digest? -%>
|
12
|
+
= form.label :password, style: "display: block"
|
13
|
+
= form.password_field :password
|
14
|
+
|
15
|
+
div
|
16
|
+
= form.label :password_confirmation, style: "display: block"
|
17
|
+
= form.password_field :password_confirmation
|
18
|
+
<% elsif attribute.attachments? -%>
|
19
|
+
= form.label :<%= attribute.column_name %>, style: "display: block"
|
20
|
+
= form.<%= attribute.field_type %> :<%= attribute.column_name %>, multiple: true
|
21
|
+
<% else -%>
|
22
|
+
= form.label :<%= attribute.column_name %>, style: "display: block"
|
23
|
+
= form.<%= attribute.field_type %> :<%= attribute.column_name %>
|
24
|
+
<% end -%>
|
25
|
+
|
26
|
+
<% end -%>
|
27
|
+
div
|
28
|
+
= form.submit
|
@@ -0,0 +1,10 @@
|
|
1
|
+
h1 Editing <%= human_name.downcase %>
|
2
|
+
|
3
|
+
== render "form", <%= singular_table_name %>: @<%= singular_table_name %>
|
4
|
+
|
5
|
+
br
|
6
|
+
|
7
|
+
div
|
8
|
+
=> link_to "Show this <%= human_name.downcase %>", <%= model_resource_name(prefix: "@") %>
|
9
|
+
'|
|
10
|
+
=< link_to "Back to <%= human_name.pluralize.downcase %>", <%= index_helper(type: :path) %>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
p style="color: green" = notice
|
2
|
+
|
3
|
+
h1 <%= human_name.pluralize %>
|
4
|
+
|
5
|
+
#<%= plural_table_name %>
|
6
|
+
- @<%= plural_table_name %>.each do |<%= singular_table_name %>|
|
7
|
+
== render <%= singular_table_name %>
|
8
|
+
p
|
9
|
+
= link_to "Show this <%= human_name.downcase %>", <%= model_resource_name(singular_table_name) %>
|
10
|
+
|
11
|
+
= link_to "New <%= human_name.downcase %>", <%= new_helper(type: :path) %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
div id="#{dom_id <%= singular_name %>}"
|
2
|
+
<% attributes.reject(&:password_digest?).each do |attribute| -%>
|
3
|
+
p
|
4
|
+
strong <%= attribute.human_name %>:
|
5
|
+
<% if attribute.attachment? -%>
|
6
|
+
= link_to <%= singular_name %>.<%= attribute.column_name %>.filename, <%= singular_name %>.<%= attribute.column_name %> if <%= singular_name %>.<%= attribute.column_name %>.attached?
|
7
|
+
<% elsif attribute.attachments? -%>
|
8
|
+
- <%= singular_name %>.<%= attribute.column_name %>.each do |<%= attribute.singular_name %>|
|
9
|
+
div
|
10
|
+
= link_to <%= attribute.singular_name %>.filename, <%= attribute.singular_name %>
|
11
|
+
<% else -%>
|
12
|
+
=< <%= singular_name %>.<%= attribute.column_name %>
|
13
|
+
<% end -%>
|
14
|
+
<% end -%>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
p style="color: green" = notice
|
2
|
+
|
3
|
+
== render @<%= singular_table_name %>
|
4
|
+
|
5
|
+
div
|
6
|
+
=> link_to "Edit this <%= human_name.downcase %>", <%= edit_helper(type: :path) %>
|
7
|
+
'|
|
8
|
+
=< link_to "Back to <%= human_name.pluralize.downcase %>", <%= index_helper(type: :path) %>
|
9
|
+
|
10
|
+
= button_to "Destroy this <%= human_name.downcase %>", <%= model_resource_name(prefix: "@") %>, method: :delete
|
data/lib/slim-rails/version.rb
CHANGED
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: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Leonardo Almeida
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-03-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -165,20 +165,9 @@ executables: []
|
|
165
165
|
extensions: []
|
166
166
|
extra_rdoc_files: []
|
167
167
|
files:
|
168
|
-
- ".gitignore"
|
169
|
-
- ".travis.yml"
|
170
|
-
- Appraisals
|
171
168
|
- CHANGELOG.md
|
172
|
-
- Gemfile
|
173
169
|
- LICENSE
|
174
170
|
- README.md
|
175
|
-
- Rakefile
|
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
|
182
171
|
- lib/generators/slim/controller/controller_generator.rb
|
183
172
|
- lib/generators/slim/controller/templates/view.html.slim
|
184
173
|
- lib/generators/slim/mailer/mailer_generator.rb
|
@@ -187,22 +176,15 @@ files:
|
|
187
176
|
- lib/generators/slim/mailer/templates/view.html.slim
|
188
177
|
- lib/generators/slim/mailer/templates/view.text.slim
|
189
178
|
- lib/generators/slim/scaffold/scaffold_generator.rb
|
190
|
-
- lib/generators/slim/scaffold/templates/_form.html.slim
|
191
|
-
- lib/generators/slim/scaffold/templates/edit.html.slim
|
192
|
-
- lib/generators/slim/scaffold/templates/index.html.slim
|
193
|
-
- lib/generators/slim/scaffold/templates/new.html.slim
|
194
|
-
- lib/generators/slim/scaffold/templates/
|
179
|
+
- lib/generators/slim/scaffold/templates/_form.html.slim.tt
|
180
|
+
- lib/generators/slim/scaffold/templates/edit.html.slim.tt
|
181
|
+
- lib/generators/slim/scaffold/templates/index.html.slim.tt
|
182
|
+
- lib/generators/slim/scaffold/templates/new.html.slim.tt
|
183
|
+
- lib/generators/slim/scaffold/templates/partial.html.slim.tt
|
184
|
+
- lib/generators/slim/scaffold/templates/show.html.slim.tt
|
195
185
|
- lib/slim-rails.rb
|
196
186
|
- lib/slim-rails/register_engine.rb
|
197
187
|
- lib/slim-rails/version.rb
|
198
|
-
- slim-rails.gemspec
|
199
|
-
- test/fixtures/routes.rb
|
200
|
-
- test/lib/generators/slim/controller_generator_test.rb
|
201
|
-
- test/lib/generators/slim/mailer_generator_test.rb
|
202
|
-
- test/lib/generators/slim/scaffold_generator_test.rb
|
203
|
-
- test/lib/generators/slim/testing_helper.rb
|
204
|
-
- test/lib/slim-rails_assets_test.rb
|
205
|
-
- test/test_helper.rb
|
206
188
|
homepage: https://github.com/slim-template/slim-rails
|
207
189
|
licenses:
|
208
190
|
- MIT
|
@@ -222,15 +204,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
204
|
- !ruby/object:Gem::Version
|
223
205
|
version: '0'
|
224
206
|
requirements: []
|
225
|
-
rubygems_version: 3.
|
207
|
+
rubygems_version: 3.3.7
|
226
208
|
signing_key:
|
227
209
|
specification_version: 4
|
228
210
|
summary: Slim templates generator for Rails
|
229
|
-
test_files:
|
230
|
-
- test/fixtures/routes.rb
|
231
|
-
- test/lib/generators/slim/controller_generator_test.rb
|
232
|
-
- test/lib/generators/slim/mailer_generator_test.rb
|
233
|
-
- test/lib/generators/slim/scaffold_generator_test.rb
|
234
|
-
- test/lib/generators/slim/testing_helper.rb
|
235
|
-
- test/lib/slim-rails_assets_test.rb
|
236
|
-
- test/test_helper.rb
|
211
|
+
test_files: []
|
data/.gitignore
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
*.gem
|
2
|
-
*.rbc
|
3
|
-
.bundle
|
4
|
-
.config
|
5
|
-
.yardoc
|
6
|
-
Gemfile.lock
|
7
|
-
InstalledFiles
|
8
|
-
_yardoc
|
9
|
-
coverage
|
10
|
-
doc/
|
11
|
-
lib/bundler/man
|
12
|
-
pkg
|
13
|
-
rdoc
|
14
|
-
spec/reports
|
15
|
-
test/tmp
|
16
|
-
test/version_tmp
|
17
|
-
tmp/
|
18
|
-
.ruby-version
|
19
|
-
.ruby-gemset
|
20
|
-
gemfiles/*.gemfile.lock
|
data/.travis.yml
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
dist: focal
|
2
|
-
|
3
|
-
os: linux
|
4
|
-
|
5
|
-
language: ruby
|
6
|
-
|
7
|
-
cache:
|
8
|
-
bundler: true
|
9
|
-
|
10
|
-
before_install:
|
11
|
-
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
12
|
-
- gem install bundler -v '< 2'
|
13
|
-
|
14
|
-
rvm:
|
15
|
-
- ruby-head
|
16
|
-
- 3.0
|
17
|
-
- 2.7
|
18
|
-
- 2.6
|
19
|
-
|
20
|
-
gemfile:
|
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:
|
29
|
-
allow_failures:
|
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
|
-
|
43
|
-
addons:
|
44
|
-
code_climate:
|
45
|
-
repo_token: 294f0ec8183176c0259b75eb21b38414508616985a7b39fc48fec9dfcf40a52e
|
data/Appraisals
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
appraise "rails-5.0" do
|
2
|
-
gem "rails", "~> 5.0.0"
|
3
|
-
gem "sprockets", "~> 3.7"
|
4
|
-
end
|
5
|
-
|
6
|
-
appraise "rails-5.1" do
|
7
|
-
gem "rails", "~> 5.1.0"
|
8
|
-
gem "sprockets", "~> 3.7"
|
9
|
-
end
|
10
|
-
|
11
|
-
appraise "rails-5.2" do
|
12
|
-
gem "rails", "~> 5.2.0"
|
13
|
-
end
|
14
|
-
|
15
|
-
appraise "rails-6.0" do
|
16
|
-
gem "rails", "~> 6.0.3"
|
17
|
-
end
|
18
|
-
|
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'
|
25
|
-
end
|
data/Gemfile
DELETED
data/Rakefile
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
#!/usr/bin/env rake
|
2
|
-
require 'bundler'
|
3
|
-
Bundler::GemHelper.install_tasks
|
4
|
-
|
5
|
-
require 'rake/testtask'
|
6
|
-
Rake::TestTask.new(:test) do |test|
|
7
|
-
test.libs << 'lib' << 'test'
|
8
|
-
test.pattern = 'test/**/*_test.rb'
|
9
|
-
test.verbose = true
|
10
|
-
end
|
11
|
-
|
12
|
-
task :default => :test
|
data/gemfiles/rails_5.0.gemfile
DELETED
data/gemfiles/rails_5.1.gemfile
DELETED
data/gemfiles/rails_5.2.gemfile
DELETED
data/gemfiles/rails_6.0.gemfile
DELETED
data/gemfiles/rails_6.1.gemfile
DELETED
data/gemfiles/rails_edge.gemfile
DELETED
@@ -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,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,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
|
data/slim-rails.gemspec
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'slim-rails/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = 'slim-rails'
|
8
|
-
spec.version = Slim::Rails::VERSION
|
9
|
-
spec.authors = ["Leonardo Almeida", "Janusz Mordarski"]
|
10
|
-
spec.email = ["lalmeida08@gmail.com", "janusz.m@gmail.com"]
|
11
|
-
|
12
|
-
spec.summary = 'Slim templates generator for Rails'
|
13
|
-
spec.description = 'Provides the generator settings required for Rails to use Slim'
|
14
|
-
spec.homepage = 'https://github.com/slim-template/slim-rails'
|
15
|
-
spec.license = 'MIT'
|
16
|
-
|
17
|
-
spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
|
-
spec.files = `git ls-files`.split("\n")
|
19
|
-
spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
|
-
spec.require_paths = ['lib']
|
21
|
-
|
22
|
-
spec.required_ruby_version = '>= 2.0.0'
|
23
|
-
|
24
|
-
spec.add_runtime_dependency 'actionpack', ['>= 3.1']
|
25
|
-
spec.add_runtime_dependency 'railties', ['>= 3.1']
|
26
|
-
spec.add_runtime_dependency 'slim', ['>= 3.0', '< 5.0']
|
27
|
-
|
28
|
-
spec.add_development_dependency 'sprockets-rails'
|
29
|
-
spec.add_development_dependency 'slim_lint', '~> 0.21.0'
|
30
|
-
spec.add_development_dependency 'rocco'
|
31
|
-
spec.add_development_dependency 'redcarpet'
|
32
|
-
spec.add_development_dependency 'awesome_print'
|
33
|
-
spec.add_development_dependency 'actionmailer', ['>= 3.1']
|
34
|
-
spec.add_development_dependency 'appraisal'
|
35
|
-
end
|
data/test/fixtures/routes.rb
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
TestApp.routes.draw do
|
2
|
-
# The priority is based upon order of creation:
|
3
|
-
# first created -> highest priority.
|
4
|
-
|
5
|
-
# Sample of regular route:
|
6
|
-
# match 'products/:id' => 'catalog#view'
|
7
|
-
# Keep in mind you can assign values other than :controller and :action
|
8
|
-
|
9
|
-
# Sample of named route:
|
10
|
-
# match 'products/:id/purchase' => 'catalog#purchase', as: :purchase
|
11
|
-
# This route can be invoked with purchase_url(id: product.id)
|
12
|
-
|
13
|
-
# Sample resource route (maps HTTP verbs to controller actions automatically):
|
14
|
-
# resources :products
|
15
|
-
|
16
|
-
# Sample resource route with options:
|
17
|
-
# resources :products do
|
18
|
-
# member do
|
19
|
-
# get :short
|
20
|
-
# post :toggle
|
21
|
-
# end
|
22
|
-
#
|
23
|
-
# collection do
|
24
|
-
# get :sold
|
25
|
-
# end
|
26
|
-
# end
|
27
|
-
|
28
|
-
# Sample resource route with sub-resources:
|
29
|
-
# resources :products do
|
30
|
-
# resources :comments, :sales
|
31
|
-
# resource :seller
|
32
|
-
# end
|
33
|
-
|
34
|
-
# Sample resource route with more complex sub-resources
|
35
|
-
# resources :products do
|
36
|
-
# resources :comments
|
37
|
-
# resources :sales do
|
38
|
-
# get :recent, on: :collection
|
39
|
-
# end
|
40
|
-
# end
|
41
|
-
|
42
|
-
# Sample resource route within a namespace:
|
43
|
-
# namespace :admin do
|
44
|
-
# # Directs /admin/products/* to Admin::ProductsController
|
45
|
-
# # (app/controllers/admin/products_controller.rb)
|
46
|
-
# resources :products
|
47
|
-
# end
|
48
|
-
|
49
|
-
# You can have the root of your site routed with "root"
|
50
|
-
# just remember to delete public/index.html.
|
51
|
-
# root to: "welcome#index"
|
52
|
-
|
53
|
-
# See how all your routes lay out with "rake routes"
|
54
|
-
|
55
|
-
# This is a legacy wild controller route that's not recommended for RESTful applications.
|
56
|
-
# Note: This route will make all actions in every controller accessible via GET requests.
|
57
|
-
# match ':controller(/:action(/:id(.:format)))'
|
58
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
require 'lib/generators/slim/testing_helper'
|
3
|
-
|
4
|
-
class Slim::Generators::ControllerGeneratorTest < Rails::Generators::TestCase
|
5
|
-
include SlimLintHelpers
|
6
|
-
|
7
|
-
destination File.join(Rails.root)
|
8
|
-
tests Rails::Generators::ControllerGenerator
|
9
|
-
arguments %w(Account foo bar --template-engine slim)
|
10
|
-
|
11
|
-
setup :prepare_destination
|
12
|
-
setup :copy_routes
|
13
|
-
|
14
|
-
test "should invoke template engine" do
|
15
|
-
run_generator
|
16
|
-
assert_file File.join("app", "views", "account", "foo.html.slim"), %r(app/views/account/foo\.html\.slim)
|
17
|
-
assert_file File.join("app", "views", "account", "bar.html.slim"), %r(app/views/account/bar\.html\.slim)
|
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
|
25
|
-
end
|
@@ -1,78 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
require 'lib/generators/slim/testing_helper'
|
3
|
-
|
4
|
-
class Slim::Generators::MailerGeneratorTest < Rails::Generators::TestCase
|
5
|
-
include SlimLintHelpers
|
6
|
-
|
7
|
-
destination File.join(Rails.root)
|
8
|
-
tests Rails::Generators::MailerGenerator
|
9
|
-
arguments %w(notifier foo bar --template-engine slim)
|
10
|
-
|
11
|
-
setup :prepare_destination
|
12
|
-
setup :copy_routes
|
13
|
-
|
14
|
-
test "should invoke template engine" do
|
15
|
-
run_generator
|
16
|
-
|
17
|
-
rails_version = ::Rails.version.to_s
|
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)
|
23
|
-
end
|
24
|
-
|
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)
|
28
|
-
end
|
29
|
-
|
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)
|
33
|
-
end
|
34
|
-
|
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)
|
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
|
44
|
-
|
45
|
-
assert_file "app/views/layouts/mailer.html.slim" do |view|
|
46
|
-
assert_match(/\= yield/, view)
|
47
|
-
end
|
48
|
-
|
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
|
60
|
-
|
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
|
70
|
-
end
|
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
|
78
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
require 'lib/generators/slim/testing_helper'
|
3
|
-
|
4
|
-
class Slim::Generators::ScaffoldGeneratorTest < Rails::Generators::TestCase
|
5
|
-
include SlimLintHelpers
|
6
|
-
|
7
|
-
destination File.join(Rails.root)
|
8
|
-
tests Rails::Generators::ScaffoldGenerator
|
9
|
-
arguments %w(product_line title:string price:integer --template-engine slim --orm active-record)
|
10
|
-
|
11
|
-
setup :prepare_destination
|
12
|
-
setup :copy_routes
|
13
|
-
|
14
|
-
test "should invoke template engine" do
|
15
|
-
run_generator
|
16
|
-
|
17
|
-
%w(index edit new show _form).each { |view| assert_file File.join "app", "views", "product_lines", "#{view}.html.slim" }
|
18
|
-
assert_no_file File.join "app", "views", "layouts", "product_lines.html.slim"
|
19
|
-
end
|
20
|
-
|
21
|
-
test "should revoke template engine" do
|
22
|
-
run_generator
|
23
|
-
run_generator ["product_line", "--orm", "active-record"], behavior: :revoke
|
24
|
-
|
25
|
-
assert_no_file File.join "app", "views", "product_lines"
|
26
|
-
assert_no_file File.join "app", "views", "layouts", "product_lines.html.slim"
|
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
|
34
|
-
end
|
@@ -1,11 +0,0 @@
|
|
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
|
-
|
11
|
-
require_generators slim: ['scaffold', 'controller', 'mailer']
|
@@ -1,72 +0,0 @@
|
|
1
|
-
require 'sprockets'
|
2
|
-
require 'test_helper'
|
3
|
-
require 'tmpdir'
|
4
|
-
|
5
|
-
class Slim::Rails::AssetsTest < ActiveSupport::TestCase
|
6
|
-
def with_app(use_sprockets, code)
|
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
|
-
|
12
|
-
app_path = File.join(dir, 'app.rb')
|
13
|
-
File.write(app_path, <<-APP)
|
14
|
-
require 'rails'
|
15
|
-
require 'sprockets/railtie' if #{use_sprockets}
|
16
|
-
require 'slim-rails'
|
17
|
-
class DummyApp < ::Rails::Application
|
18
|
-
config.root = #{dir.inspect}
|
19
|
-
config.assets.enabled = true if #{use_sprockets}
|
20
|
-
config.eager_load = false
|
21
|
-
end
|
22
|
-
DummyApp.initialize!
|
23
|
-
#{code}
|
24
|
-
APP
|
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
|
-
|
32
|
-
asset_path = File.join(dir, 'app', 'assets', 'html', 'test.slim')
|
33
|
-
FileUtils.mkdir_p(File.dirname(asset_path))
|
34
|
-
File.write(asset_path, ".test\n | hi")
|
35
|
-
|
36
|
-
asset_path = File.join(dir, 'app', 'assets', 'html', 'test_helpers.slim')
|
37
|
-
File.write(asset_path, '= logical_path')
|
38
|
-
|
39
|
-
`BUNDLE_GEMFILE=#{ENV['BUNDLE_GEMFILE']} bundle exec ruby #{app_path}`
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
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"]')
|
71
|
-
end
|
72
|
-
end
|
data/test/test_helper.rb
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'minitest/autorun'
|
3
|
-
require 'rails'
|
4
|
-
require 'rails/test_help'
|
5
|
-
require 'rails/generators'
|
6
|
-
require 'rails/generators/test_case'
|
7
|
-
require 'slim-rails'
|
8
|
-
|
9
|
-
class TestApp < Rails::Application
|
10
|
-
config.root = File.dirname(__FILE__)
|
11
|
-
end
|
12
|
-
Rails.application = TestApp
|
13
|
-
|
14
|
-
module Rails
|
15
|
-
def self.root
|
16
|
-
@root ||= File.expand_path(File.join(File.dirname(__FILE__), '..', 'tmp', 'rails'))
|
17
|
-
end
|
18
|
-
end
|
19
|
-
Rails.application.config.root = Rails.root
|
20
|
-
|
21
|
-
Rails::Generators.configure! Rails.application.config.generators
|
22
|
-
|
23
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
24
|
-
|
25
|
-
def copy_routes
|
26
|
-
routes = File.expand_path(File.join(File.dirname(__FILE__), 'fixtures', 'routes.rb'))
|
27
|
-
destination = File.join(Rails.root, "config")
|
28
|
-
FileUtils.mkdir_p(destination)
|
29
|
-
FileUtils.cp File.expand_path(routes), destination
|
30
|
-
end
|
31
|
-
|
32
|
-
def assert_class(klass, content)
|
33
|
-
assert content =~ /class #{klass}(\(.+\))?(.*?)\nend/m, "Expected to have class #{klass}"
|
34
|
-
yield $2.strip if block_given?
|
35
|
-
end
|
36
|
-
|
37
|
-
def generator_list
|
38
|
-
{
|
39
|
-
rails: ['scaffold', 'controller', 'mailer'],
|
40
|
-
slim: ['scaffold', 'controller', 'mailer']
|
41
|
-
}
|
42
|
-
end
|
43
|
-
|
44
|
-
def path_prefix(name)
|
45
|
-
case name
|
46
|
-
when :rails
|
47
|
-
'rails/generators'
|
48
|
-
else
|
49
|
-
'generators'
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def require_generators(generator_list)
|
54
|
-
generator_list.each do |name, generators|
|
55
|
-
generators.each do |generator_name|
|
56
|
-
if name.to_s == 'rails' && generator_name.to_s == 'mailer'
|
57
|
-
require File.join(path_prefix(name), generator_name.to_s, "#{generator_name}_generator")
|
58
|
-
else
|
59
|
-
require File.join(path_prefix(name), name.to_s, generator_name.to_s, "#{generator_name}_generator")
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
alias :require_generator :require_generators
|
65
|
-
|
66
|
-
require_generators generator_list
|