slim-rails 3.1.0 → 3.1.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
  SHA1:
3
- metadata.gz: 0a05eb3d5dfbb4478f0996d2074da8932d0b49ad
4
- data.tar.gz: 752a07b4dfbbad30afcaf177d5d733a7421b3c2f
3
+ metadata.gz: 730249022955562dd8f32bc57713909e0e34e84c
4
+ data.tar.gz: 4ac7a9296a96b94e8106df5d1bef4423dfbe2e7b
5
5
  SHA512:
6
- metadata.gz: 767266f4ba84f911190b2581527e40004a83d0728d53f8d9e92f2f9fb160c94640abda95fcffdef0c8788fe6772636f6de6b17d58f0521a643fdb328b0dfddad
7
- data.tar.gz: 5b12242cb29337b99c61b86c0eface7a37b3b93f7ea81eb4b8253b5f80a2145082c02107c99c0c2f9aec27fc440254966cb15014ed29f04423d85d13d93b18c7
6
+ metadata.gz: 20768a544ba036ed3351a9acbcabe7b6fcd18cf7ec50e5f4383f476d42b957b613f96c800e0e1c43d9782f79e228c80127f2b2b6d8842b3e26d8b1b9e34feb6f
7
+ data.tar.gz: d0b3b687b462254b194daaa07ff77c17ce1104007f74d33ec71bb7d9a30a64958cf3823eaae7c61ca4e4ee1659a5f8ce0782378f5b628196d286c0da3b88adc8
@@ -11,6 +11,9 @@ gemfile:
11
11
  - gemfiles/rails_4.gemfile
12
12
  - gemfiles/rails_4.1.gemfile
13
13
  - gemfiles/rails_4.2.gemfile
14
+ matrix:
15
+ allow_failures:
16
+ - rvm: ruby-head
14
17
  addons:
15
18
  code_climate:
16
19
  repo_token: 294f0ec8183176c0259b75eb21b38414508616985a7b39fc48fec9dfcf40a52e
data/Appraisals CHANGED
@@ -17,5 +17,5 @@ appraise "rails-4.2" do
17
17
  end
18
18
 
19
19
  appraise "rails-5" do
20
- gem "rails", "~> 5.0.0.rc1"
20
+ gem "rails", "~> 5.0.0"
21
21
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "rails", "~> 5.0.0.rc1"
5
+ gem "rails", "~> 5.0.0"
6
6
 
7
7
  gemspec :path => "../"
@@ -1,6 +1,7 @@
1
1
  require 'slim-rails/version'
2
2
  require 'rails'
3
3
  require 'slim'
4
+ require 'slim-rails/register_engine'
4
5
 
5
6
  module Slim
6
7
  module Rails
@@ -8,9 +9,7 @@ module Slim
8
9
  config.app_generators.template_engine :slim
9
10
 
10
11
  initializer 'slim_rails.configure_template_digestor' do |app|
11
- if app.assets && app.assets.respond_to?(:register_engine)
12
- app.assets.register_engine '.slim', Slim::Template
13
- end
12
+ Slim::Rails::RegisterEngine.register_engine(app, config)
14
13
 
15
14
  ActiveSupport.on_load(:action_view) do
16
15
  ActiveSupport.on_load(:after_initialize) do
@@ -0,0 +1,45 @@
1
+ module Slim
2
+ module Rails
3
+ module RegisterEngine
4
+ class Transformer
5
+ def self.call(input)
6
+ Slim::Template.new(input[:name]) { input[:data] }.render(nil)
7
+ end
8
+ end
9
+
10
+ def self.register_engine(app, config)
11
+ if ::Rails::VERSION::MAJOR == 3
12
+ _register_engine3(app)
13
+ else
14
+ _register_engine(config)
15
+ end
16
+ end
17
+
18
+ private
19
+
20
+ def self._register_engine3(app)
21
+ return unless app.assets
22
+ return unless app.assets.respond_to?(:register_engine)
23
+
24
+ app.assets.register_engine('.slim', Slim::Template)
25
+ end
26
+
27
+ def self._register_engine(config)
28
+ return unless config.respond_to?(:assets)
29
+
30
+ config.assets.configure do |env|
31
+ if env.respond_to?(:register_transformer)
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
35
+
36
+ if 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
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -1,5 +1,5 @@
1
1
  module Slim
2
2
  module Rails
3
- VERSION = "3.1.0"
3
+ VERSION = "3.1.1"
4
4
  end
5
5
  end
@@ -25,6 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.add_runtime_dependency 'railties', ['>= 3.1']
26
26
  spec.add_runtime_dependency 'slim', ['~> 3.0']
27
27
 
28
+ spec.add_development_dependency 'sprockets-rails'
28
29
  spec.add_development_dependency 'rocco'
29
30
  spec.add_development_dependency 'redcarpet'
30
31
  spec.add_development_dependency 'awesome_print'
@@ -1,4 +1,4 @@
1
- TestApp.routes.draw do |map|
1
+ TestApp.routes.draw do
2
2
  # The priority is based upon order of creation:
3
3
  # first created -> highest priority.
4
4
 
@@ -15,33 +15,33 @@ class Slim::Generators::MailerGeneratorTest < Rails::Generators::TestCase
15
15
  if ::Rails.version.to_s >= '4.2'
16
16
 
17
17
  assert_file "app/views/layouts/mailer.text.slim" do |view|
18
- assert_match /\= yield/, view
18
+ assert_match(/\= yield/, view)
19
19
  end
20
20
 
21
21
  assert_file "app/views/layouts/mailer.html.slim" do |view|
22
- assert_match /\= yield/, view
22
+ assert_match(/\= yield/, view)
23
23
  end
24
24
 
25
25
  assert_file "app/views/notifier/foo.html.slim" do |view|
26
26
  assert_match %r(app/views/notifier/foo\.html\.slim), view
27
- assert_match /\= @greeting/, view
27
+ assert_match(/\= @greeting/, view)
28
28
  end
29
29
 
30
30
  assert_file "app/views/notifier/bar.html.slim" do |view|
31
31
  assert_match %r(app/views/notifier/bar\.html\.slim), view
32
- assert_match /\= @greeting/, view
32
+ assert_match(/\= @greeting/, view)
33
33
  end
34
34
 
35
35
  end
36
36
 
37
37
  assert_file "app/views/notifier/foo.text.slim" do |view|
38
38
  assert_match %r(app/views/notifier/foo\.text\.slim), view
39
- assert_match /@greeting/, view
39
+ assert_match(/@greeting/, view)
40
40
  end
41
41
 
42
42
  assert_file "app/views/notifier/bar.text.slim" do |view|
43
43
  assert_match %r(app/views/notifier/bar\.text\.slim), view
44
- assert_match /@greeting/, view
44
+ assert_match(/@greeting/, view)
45
45
  end
46
46
  end
47
47
  end
@@ -0,0 +1,32 @@
1
+ require 'test_helper'
2
+ require 'tmpdir'
3
+
4
+ class Slim::Rails::AssetsTest < ActiveSupport::TestCase
5
+ def with_app(use_sprockets, code)
6
+ Dir.mktmpdir do |dir|
7
+ app_path = File.join(dir, 'app.rb')
8
+ File.write(app_path, <<-APP)
9
+ require 'rails'
10
+ require 'sprockets/railtie' if #{use_sprockets}
11
+ require 'slim-rails'
12
+ class DummyApp < ::Rails::Application
13
+ config.root = #{dir.inspect}
14
+ config.assets.enabled = true
15
+ end
16
+ DummyApp.initialize!
17
+ #{code}
18
+ APP
19
+
20
+ asset_path = File.join(dir, 'app', 'assets', 'html', 'test.slim')
21
+ FileUtils.mkdir_p(File.dirname(asset_path))
22
+ File.write(asset_path, ".test\n | hi")
23
+
24
+ `BUNDLE_GEMFILE=#{ENV['BUNDLE_GEMFILE']} bundle exec ruby #{app_path}`
25
+ end
26
+ end
27
+
28
+ test 'compile slim view' do
29
+ assert_equal 'ok', with_app(false, 'print DummyApp.assets || "ok"')
30
+ assert_equal '<div class="test">hi</div>', with_app(true, 'print DummyApp.assets["test.slim"].to_s')
31
+ end
32
+ end
@@ -1,8 +1,10 @@
1
1
  require 'rubygems'
2
2
  require 'minitest/autorun'
3
- require 'rails/all'
3
+ require 'rails'
4
+ require 'rails/test_help'
4
5
  require 'rails/generators'
5
6
  require 'rails/generators/test_case'
7
+ require 'slim-rails'
6
8
 
7
9
  class TestApp < Rails::Application
8
10
  config.root = File.dirname(__FILE__)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slim-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leonardo Almeida
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-07 00:00:00.000000000 Z
11
+ date: 2016-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sprockets-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rocco
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -155,6 +169,7 @@ files:
155
169
  - lib/generators/slim/scaffold/templates/new.html.slim
156
170
  - lib/generators/slim/scaffold/templates/show.html.slim
157
171
  - lib/slim-rails.rb
172
+ - lib/slim-rails/register_engine.rb
158
173
  - lib/slim-rails/version.rb
159
174
  - slim-rails.gemspec
160
175
  - test/fixtures/routes.rb
@@ -162,6 +177,7 @@ files:
162
177
  - test/lib/generators/slim/mailer_generator_test.rb
163
178
  - test/lib/generators/slim/scaffold_generator_test.rb
164
179
  - test/lib/generators/slim/testing_helper.rb
180
+ - test/lib/slim-rails_assets_test.rb
165
181
  - test/test_helper.rb
166
182
  homepage: https://github.com/slim-template/slim-rails
167
183
  licenses:
@@ -193,4 +209,5 @@ test_files:
193
209
  - test/lib/generators/slim/mailer_generator_test.rb
194
210
  - test/lib/generators/slim/scaffold_generator_test.rb
195
211
  - test/lib/generators/slim/testing_helper.rb
212
+ - test/lib/slim-rails_assets_test.rb
196
213
  - test/test_helper.rb