- Added a generator for slim. Use it with `-e slim` when generating.
- The generator now places views of namespaced cells into the correct directory. E.g. `rails g Blog::Post display` puts views to `app/cells/blog/post/display.html.erb`.
- Gem dependencies changed, we now require
actionpack
andrailties
>= 3.0.0 instead ofrails
.
- state-args work even if your state method receives optional arguments or default values, like
def show(user, age=18)
.
- Cell::Base.view_paths is now setup in an initializer. If you do scary stuff with view_paths this might lead to scary problems.
- Cells::DEFAULT_VIEW_PATHS is now Cell::Base::DEFAULT_VIEW_PATHS. Note that Cells will set its view_paths to DEFAULT_VIEW_PATHS at initialization time. If you want to alter the view_paths, use Base.append_view_path and friends in a separate initializer.
- Controller#render_cell now accepts multiple args as options.
- Caching versioners now can accept state-args or options from the #render_cell call. This way, you don’t have to access #options at all anymore.
- No longer pass an explicit Proc but a versioner block to
Cell.Base.cache
. Example:cache :show do "v1" end
- Caching.cache_key_for now uses
ActiveSupport::Cache.expand_cache_key
. Consequently, a key which used to be like"cells/director/count/a=1/b=2"
now iscells/director/count/a=1&b=2
and so on. Be warned that this might break your home-made cache expiry. - Controller#expire_cell_state now expects the cell class as first arg. Example:
expire_cell_state(DirectorCell, :count)
- Passing options to
render :state
in views finally works:render({:state => :list_item}, item, i)
- Deprecated @opts, use #options now.
- Added state-args. State methods can now receive the options as method arguments. This should be the prefered way of parameter exchange with the outer world.
- #params, #request, and #config is now delegated to @parent_controller.
- The generator now is invoked as
rails g cell ...
- The `—haml` option is no longer available.
- The `-t` option now is compatible with the rest of rails generators, now it is used as alias for `—test-framework`. Use the `-e` option as an alias of `—template-engine`
Thanks to Jorge Calás Lozano <calas@qvitta.net> for patching this in the most reasonable manner i could imagine. - Privatized
#find_family_view_for_state
,#render_view_for
, and all *ize methods in Cell::Rails. - New signature:
#render_view_for(state, *args)
- Cells.setup now yields Cell::Base, so you can really call append_view_path and friends here.
- added Cell::Base.build for streamlining the process of deciders around #render_cell, see here
- added TestCase#in_view to test helpers in a real cell view.
- #render_cell now accepts a block which yields the cell instance before rendering.
- We no longer use TestTaskWithoutDescription in our rake tasks.