h2. 3.8.2 * Engines should work in Rails 3.0 now, too. h2. 3.8.1 * Make it work with Rails 3.2 by removing deprecated stuff. h2. 3.8.0 * @Cell::Base@ got rid of the controller dependency. If you want the @ActionController@ instance around in your cell, use @Cell::Rails@ - this should be the default in a standard Rails setup. However, if you plan on using a Cell in a Rack middleware or don't need the controller, use @Cell::Base@. * New API (note that @controller@ isn't the first argument anymore): ** @Rails.create_cell_for(name, controller)@ ** @Rails.render_cell_for(name, state, controller, *args)@ * Moved builder methods to @Cell::Builder@ module. * @DEFAULT_VIEW_PATHS@ is now in @Cell::Base@. * Removed the monkey-patch that made state-args work in Rails <= 3.0.3. Upgrade to +3.0.4. h2. 3.7.1 * Works with Rails 3.2, too. Hopefully. h2. 3.7.0 h3. Changes * Cache settings using @Base.cache@ are now inherited. * Removed @opts. * Removed @#options@ in favor of state-args. If you still want the old behaviour, include the @Deprecations@ module in your cell. * The build process is now instantly delegated to Base.build_for on the concrete cell class. h2. 3.6.8 h3. Changes * Removed @opts. * Deprecated @#options@ in favour of state-args. h2. 3.6.7 h3. Changes * Added @view_assigns@ to TestCase. h2. 3.6.6 h3. Changes * Added the @:format@ option for @#render@ which should be used with caution. Sorry for that. * Removed the useless @layouts/@ view path from Cell::Base. h2. 3.6.5 h3. Bugfixes * `Cell::TestCase#invoke` now properly accepts state-args. h3. Changes * Added the `:if` option to `Base.cache` which allows adding a conditional proc or instance method to the cache definition. If it doesn't return true, caching for that state is skipped. h2. 3.6.4 h3. Bugfixes * Fixes @ArgumentError: wrong number of arguments (1 for 0)@ in @#render_cell@ for Ruby 1.8. h2. 3.6.3 h3. Bugfixes * [Rails 3.0] Helpers are now properly included (only once). Thanks to [paneq] for a fix. * `#url_options` in the Metal module is now delegated to `parent_controller` which propagates global URL setting like relative URLs to your cells. h3. Changes * `cells/test_case` is no longer required as it should be loaded automatically. h2. 3.6.2 h3. Bugfixes * Fixed cells.gemspec to allow Rails 3.x. h2. 3.6.1 h3. Changes * Added the @:format@ option allowing @#render@ to set different template types, e.g. @render :format => :json@. h2. 3.6.0 h3. Changes * Cells runs with Rails 3.0 and 3.1. h2. 3.5.6 h3. Changes * Added a generator for slim. Use it with `-e slim` when generating. h2. 3.5.5 h3. Bugfixes * 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`. h3. Changes * Gem dependencies changed, we now require @actionpack@ and @railties@ >= 3.0.0 instead of @rails@. h2. 3.5.4 h3. Bugfixes * state-args work even if your state method receives optional arguments or default values, like @def show(user, age=18)@. h3. Changes * 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. h2. 3.5.2 h3. Bugfixes * Controller#render_cell now accepts multiple args as options. h3. Changes * 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. h2. 3.5.1 * 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 is @cells/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)@ h3. Bugfixes * Passing options to @render :state@ in views finally works: @render({:state => :list_item}, item, i)@ h2. 3.5.0 h3. Changes * 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 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)@ h2. 3.4.4 h3. Changes * 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":http://nicksda.apotomo.de/2010/12/pragmatic-rails-thoughts-on-views-inheritance-view-inheritance-and-rails-304 * added TestCase#in_view to test helpers in a real cell view. h2. 3.4.3 h3. Changes * #render_cell now accepts a block which yields the cell instance before rendering. h3. Bugfixes * We no longer use TestTaskWithoutDescription in our rake tasks.