View layer for Lotus
- [Trung Lê] When duplicate the framework, also duplicate
Presenter
- [Benny Klotz] Introduced
Scope#class
,#inspect
,LayoutScope#class
and#inspect
- [Alfonso Uceda Pompa & Trung Lê] Introduced
Configuration#prepare
- [Luca Guidi] Implemented "respond to" logic for
Lotus::View::Scope
(respond_to?
andrespond_to_missing?
) - [Luca Guidi] Implemented "respond to" logic for
Lotus::Layout
(respond_to?
andrespond_to_missing?
) - [Jeremy Stephens] Allow view concrete methods that accept a block to be invoked from templates
- [Peter Suschlik] Implemented "respond to" logic for
Lotus::Presenter
(respond_to?
andrespond_to_missing?
)
- [Alfonso Uceda Pompa] Raise an exception when a layout doesn't have an associated template
- [Luca Guidi] Ensure that concrete methods in layouts are available in templates
- [Luca Guidi] Ensure to associate the right layout to a view in case fo duplicated framework
- [Luca Guidi] Safe override of Ruby's top level methods in Scope. (Eg. use
select
from a view, not from::Kernel
)
- [Luca Guidi] Introduced
Configuration#duplicate
- [Luca Guidi] Introduced
Configuration#layout
to define the layout that all the views will use - [Luca Guidi] Introduced
Configuration#load_paths
to define several sources where to lookup for templates - [Luca Guidi] Introduced
Configuration#root
to define the root path where to find templates - [Luca Guidi] Introduced
Lotus::View::Configuration
- [Grant Ammons] Allow view concrete methods with arity > 0 to be invoked from templates
- [Luca Guidi] Official support for Ruby 2.1
- [Luca Guidi]
Rendering::TemplatesFinder
now look recursively for templates, starting from the root. - [Luca Guidi] Removed
View.layout=
- [Luca Guidi] Removed
View.root=
- [Luca Guidi] Ensure outermost locals to not shadow innermost inside templates/partials
- [Luca Guidi] Allow custom rendering policy via
Action#render
override. This bypasses the template lookup and rendering. - [Luca Guidi] Introduced
Lotus::Presenter
- [Luca Guidi] Introduced templates rendering from templates and layouts
- [Luca Guidi] Introduced partials rendering from templates and layouts
- [Luca Guidi] Introduced layouts support
- [Luca Guidi] Introduced
Lotus::View.load!
as entry point to load views and templates - [Luca Guidi] Allow to setup template name via
View.template
- [Luca Guidi] Rendering context also considers locals passed to the constructor
- [Luca Guidi] Introduced
View.format
as DSL to declare which format to handle - [Luca Guidi] Introduced view subclasses as way to handle different formats (mime types)
- [Luca Guidi] Introduced multiple templates per each View
- [Luca Guidi] Implemented basic rendering with templates
- [Luca Guidi] Official support for Ruby 2.0