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

Re-fix Erubi on Rails < 5.1 #952

Merged
merged 3 commits into from Aug 18, 2017

Conversation

RobinDaugherty
Copy link
Contributor

This was attempted in #948, but we made a small change after the PR was first opened. Turns out we must use check for Erubi using defined? and Rails' Erubi object using const_defined?.

If we call defined? with Rails's object, it gets defined by Rails. Calling const_defined? with the constant as a string seems to be the only way for us to see if it's been defined without causing it to be defined.

Without the defined? in front of the const_defined? call, Rails 4.2 raises a weird exception. Together, they seem to do the job.

I've set Travis to require the erubi gemfile tests to pass.

@RobinDaugherty RobinDaugherty changed the title Fix erubi with rails 5.0 Re-fix Erubi on Rails < 5.1 Aug 17, 2017
@RobinDaugherty
Copy link
Contributor Author

Looks like there's still an issue with jruby-9.1.12.0. I'm working on it.

@RobinDaugherty
Copy link
Contributor Author

@k0kubun this should be good to merge!

@k0kubun
Copy link
Member

k0kubun commented Aug 18, 2017

It's a little complicated, but hopefully this check will be removed after supported Rails becomes higher. I love this well-documented patch. Thank you 👍 👍 👍

@k0kubun k0kubun merged commit afb9424 into haml:master Aug 18, 2017
@RobinDaugherty RobinDaugherty deleted the fix-erubi-with-rails50 branch August 18, 2017 17:59
leifcr added a commit to leifcr/rails4-docker that referenced this pull request Aug 24, 2017
@amatsuda
Copy link
Member

amatsuda commented Sep 7, 2017

Sorry for not being able to release earlier, but just pubished 5.0.3 gem with this fix.
Thanks! ❤️

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request 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

Successfully merging this pull request may close these issues.

None yet

3 participants