Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

:ruby filter with no content causes TypeError #942

Closed
aselder opened this issue Jul 12, 2017 · 1 comment
Closed

:ruby filter with no content causes TypeError #942

aselder opened this issue Jul 12, 2017 · 1 comment

Comments

@aselder
Copy link

aselder commented Jul 12, 2017

We had a haml file that started:

:ruby

%section.completed-test
  .completed-test__header

When haml tries to render this file, we get the following:

     TypeError:
       no implicit conversion of nil into String
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/filters.rb:285:in `+'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/filters.rb:285:in `block in compile'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/filters.rb:284:in `instance_eval'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/filters.rb:284:in `compile'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/filters.rb:142:in `internal_compile'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/compiler.rb:180:in `compile_filter'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/compiler.rb:29:in `compile'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/compiler.rb:31:in `block (2 levels) in compile'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/compiler.rb:31:in `each'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/compiler.rb:31:in `block in compile'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/compiler.rb:41:in `compile_root'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/compiler.rb:31:in `compile'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/compiler.rb:22:in `call'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/temple-0.8.0/lib/temple/engine.rb:50:in `block in call'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/temple-0.8.0/lib/temple/engine.rb:50:in `each'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/temple-0.8.0/lib/temple/engine.rb:50:in `inject'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/temple-0.8.0/lib/temple/engine.rb:50:in `call'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/temple_engine.rb:41:in `compile'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/engine.rb:61:in `initialize'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/plugin.rb:16:in `new'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/plugin.rb:16:in `compile'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/haml-5.0.1/lib/haml/plugin.rb:23:in `call'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/template.rb:270:in `compile'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/template.rb:245:in `block (2 levels) in compile!'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/activesupport-4.2.9/lib/active_support/notifications.rb:166:in `instrument'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/template.rb:333:in `instrument'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/template.rb:244:in `block in compile!'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/template.rb:232:in `synchronize'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/template.rb:232:in `compile!'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/template.rb:144:in `block in render'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/activesupport-4.2.9/lib/active_support/notifications.rb:164:in `block in instrument'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/activesupport-4.2.9/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/activesupport-4.2.9/lib/active_support/notifications.rb:164:in `instrument'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/template.rb:333:in `instrument'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/template.rb:143:in `render'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/renderer/abstract_renderer.rb:39:in `block in instrument'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/activesupport-4.2.9/lib/active_support/notifications.rb:164:in `block in instrument'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/activesupport-4.2.9/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/activesupport-4.2.9/lib/active_support/notifications.rb:164:in `instrument'
     # /Users/aselder/.rvm/gems/ruby-2.3.4@usertesting-orders/gems/actionview-4.2.9/lib/action_view/renderer/abstract_renderer.rb:39:in `instrument'
@k0kubun
Copy link
Member

k0kubun commented Jul 14, 2017

Fixed. Thank you for reporting.

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Sep 10, 2017
## 5.0.3

Released on September 7, 2017
([diff](haml/haml@v5.0.2...v5.0.3)).

* Use `String#dump` instead of `String#inspect` to generate string
  literal. (Takashi Kokubun)
* Fix Erubi superclass mismatch
  error. [#952](haml/haml#952) (thanks [Robin
  Daugherty](https://github.com/RobinDaugherty))

## 5.0.2

Released on August 1, 2017
([diff](haml/haml@v5.0.1...v5.0.2)).

* Let `haml -c` fail if generated Ruby code is syntax
  error. [#880](haml/haml#880) (Takashi Kokubun)
* Fix `NoMethodError` bug caused with Sprockets 3 and :sass
  filter. [#930](haml/haml#930) (thanks [Gonzalez
  Maximiliano](https://github.com/emaxi))
* Fix `list_of` helper with multi-line
  content. [#933](haml/haml#933) (thanks [Benoit
  Larroque](https://github.com/zetaben))
* Optimize rendering performance by changing timing to fix
  textareas. [#941](haml/haml#941) (Takashi Kokubun)
* Fix `TypeError` with empty :ruby
  filter. [#942](haml/haml#942) (Takashi Kokubun)
* Fix inconsistent attribute sort order. (Takashi Kokubun)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants