Skip to content

Conversation

@seanpdoyle
Copy link
Contributor

Closes #376.

Improve setup_ember script

  • Don't overwrite gemfiles/ changes with appraisal install
  • Localize Ember setup to bin/setup_ember
  • Always invoke, let bin/setup_ember decide whether or not to no-op

Required changes

Run test suite against the latest 5.0.0.betaX and master branches of
rails/rails.

Since EmberController extends ApplicationController, which can now
extend from either ActionController::Base (which implements
helper_method) and ActionController::API (which doesn't implement
helper_method), we can't depend on that API existing.

Remove call to helper_method from EmberController, as it is no
longer supported.

Fix EmberCli::EmberController inheritance

The EmberCli::EmberController used to inherit from
ApplicationController in order to reap the benefits of
application-wide configurations and behavior (such as
authentication-based before_action calls and other macros).

Unfortunately, with the introduction of Rails 5's rails new --api,
applications' ApplicationController can now inherit from
ActionController::API, which doesn't serve HTML by default.

To support Rails 5's default --api behavior,
EmberCli::EmberController must inherit from ActionController::Base,
forcing the controller to forfeit all the benefits of sharing behavior
with ApplicationController.

Support changes

Rails 5 depends on [email protected], which requires Ruby 2.2.2 or
greater.

In order to support Rails 5, we will no longer support versions of Ruby
prior to 2.2.2.

@seanpdoyle seanpdoyle mentioned this pull request Feb 2, 2016
@seanpdoyle seanpdoyle force-pushed the sd-rails-5 branch 6 times, most recently from db040f1 to b47db7b Compare February 8, 2016 16:48
class EmberController < ::ApplicationController
def index
render layout: false
(::ActionController::Base::MODULES - ::ActionController::API::MODULES).each do |mod|

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line is too long. [88/80]

@rwjblue
Copy link
Contributor

rwjblue commented Apr 5, 2016

Where are we at with this? Any additional blockers?

@seanpdoyle
Copy link
Contributor Author

@rwjblue I've gotten all versions of Ruby / Rails passing except for JRuby / rails {5,master}.

I would love some help addressing these failures

@seanpdoyle seanpdoyle force-pushed the sd-rails-5 branch 3 times, most recently from b110d57 to ceed542 Compare August 10, 2016 14:49
Closes [#376].

Required changes
----------------

Run test suite against the latest `5.0.0.betaX` and `master` branches of
[`rails/rails`][rails].

Since `EmberController` extends `ApplicationController`, which can now
extend from either `ActionController::Base` (which implements
`helper_method`) and `ActionController::API` (which doesn't implement
`helper_method`), we can't depend on that API existing.

Remove call to `helper_method` from `EmberController`, as it is no
longer supported.

**Allow JRuby failures in CI**

**Improve `setup_ember` script**

* Don't overwrite `gemfiles/` changes with `appraisal install`
* Localize Ember setup to `bin/setup_ember`
* Always invoke, let `bin/setup_ember` decide whether or not to no-op

**Fix `EmberCli::EmberController` inheritance**

The `EmberCli::EmberController` used to inherit from
`ApplicationController` in order to reap the benefits of
application-wide configurations and behavior (such as
authentication-based `before_action` calls and other macros).

Unfortunately, with the introduction of Rails 5's `rails new --api`,
applications' `ApplicationController` can now inherit from
[`ActionController::API`][api], which doesn't serve HTML by default.

To support Rails 5's default `--api` behavior,
`EmberCli::EmberController` must inherit from `ActionController::Base`,
forcing the controller to forfeit all the benefits of sharing behavior
with `ApplicationController`.

[api]: http://edgeapi.rubyonrails.org/classes/ActionController/API.html

**Depend on `test-unit`**

```
Ruby 2.2+ has removed test/unit from the core library. Rails requires
this as a dependency. Please add test-unit gem to your Gemfile:
`gem 'test-unit', '~> 3.0'` (cannot load such file -- test/unit)"
```

Support changes
---------------

Rails 5 depends on `[email protected]`, which **requires** Ruby `2.2.2` or
greater.

In order to support Rails 5, we will no longer support versions of Ruby
prior to `2.2.2`.

[#376]: #376
[rails]: https://github.com/rails/rails
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.

4 participants