Cells v3.11.0 Release Notes

    • ๐Ÿ—„ Deprecated Cell::Rails::ViewModel, please inherit: class SongCell < Cell::ViewModel.
    • ViewModel#call is now the prefered way to invoke the rendering flow. Without any argument, call will run render_state(:show). Pass in any method name you want.
    • โž• Added Caching::Notifications.
    • โž• Added cell(:song, collection: [song1, song2]) to render collections. This only works with ViewModel (and, of course, Concept, too).
    • โž• Added ::inherit_views to only inherit views whereas real class inheritance would inherit all the dark past of the class.
    • ๐Ÿšš ::build_for removed/privatized/changed. Use Cell::Base::cell_for instead.
    • Base::_parent_prefixes is no longer used, if you override that somewhere in your cells it will break. We have our own implementation for computing the controller's prefixes in Cell::Base::Prefixes (simpler).
    • #expire_cell_state doesn't take symbols anymore, only the real cell class name.
    • Remove Cell::Base.setup_view_paths! and Cell::Base::DEFAULT_VIEW_PATHS and the associated Railtie. I don't know why this code survived 3 major versions, if you wanna set you own view paths just use Cell::Base.view_paths=.
    • โž• Add Base::self_contained!.
    • โž• Add Base::inherit_views.

    Concept

    • #concept helper is mixed into all views as an alternative to #cell and #render_cell. Let us know if we should do that conditionally, only.
    • Concept cells look for layouts in their self-contained views directory.
    • โž• Add generator for Concept cells: rails g concept Comment