Commit Graph

102 Commits

Author SHA1 Message Date
Neeraj Singh
e574ca920d render(:inline) in a layout before yield replaces original content
[#4777 state:resolved]

Signed-off-by: José Valim <jose.valim@gmail.com>
2010-06-13 13:56:08 +02:00
José Valim
5273bd97e6 Make AP test suite green once again and speed up performance in layouts lookup for some cases. 2010-06-07 10:13:41 +02:00
Jeremy Kemper
83729e2fe3 Formats should always be an array. 2010-06-06 19:59:52 -04:00
José Valim
f055bc05d5 Optimize the code added in fa99de0bd0 2010-05-15 21:55:03 +02:00
Jeff Kreeftmeijer
da90fe9466 make sure as is set before trying to build an #{as}_counter. [#2804 state:resolved]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-05-15 11:19:41 -07:00
Jeff Kreeftmeijer
fa99de0bd0 partial counters with :as [#2804 state:resolved]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-05-15 10:32:23 -07:00
Justin George
731d4392e4 Change event namespace ordering to most-significant first [#4504 state:resolved]
More work still needs to be done on some of these names
(render_template.action_view and render_template!.action_view particularly)
but this allows (for example) /^sql/ to subscribe to all
the various ORMs without further modification

Signed-off-by: José Valim <jose.valim@gmail.com>
2010-05-02 22:45:54 +02:00
Jeremy Kemper
19e6006636 Layout contents are html-safe 2010-04-09 09:14:02 -07:00
Xavier Noria
43d02dffcb <% yield to <%= yield in rdoc of _layout_for, and copy-edits it now that we are on it 2010-04-05 02:16:24 -07:00
Jeremy Kemper
ee7605ecf0 Key partial name cache on controller and object class *names* to avoid memory leaks in dev mode 2010-04-02 15:54:38 -07:00
Xavier Noria
76f024ac8d adds missing requires for Object#blank? and Object#present? 2010-03-28 14:15:02 +02:00
José Valim
a09e99259c Ensure details are frozen after @details_keys lookup. The implementation waits to freeze until the last required moment, to avoid duping hashes. 2010-03-27 20:52:11 +01:00
wycats
197904341f Merge branch 'master' into docrails 2010-03-26 15:10:24 -07:00
José Valim
f28d856cec Improve performance of the rendering stack by freezing formats as a sign that they shouldn't be further modified. 2010-03-19 17:20:20 +01:00
Carlhuda
d9375f3f30 Modify assert_template to use notifications. Also, remove ActionController::Base#template since it is no longer needed. 2010-03-17 16:29:35 -07:00
José Valim
56fb60ebfe Fix rendering of HTML partials inside JS templates [#4197 status:resolved] 2010-03-16 23:36:29 +01:00
Carlhuda
9de83050d3 Add deprecation notices for <% %>.
* The approach is to compile <% %> into a method call that checks whether
    the value returned from a block is a String. If it is, it concats to the buffer and
    prints a deprecation warning.
  * <%= %> uses exactly the same logic to compile the template, which first checks
    to see whether it's compiling a block.
  * This should have no impact on other uses of block in templates. For instance, in
    <% [1,2,3].each do |i| %><%= i %><% end %>, the call to each returns an Array,
    not a String, so the result is not concatenated
  * In two cases (#capture and #cache), a String can be returned that should *never*
    be concatenated. We have temporarily created a String subclass called NonConcattingString
    which behaves (and is serialized) identically to String, but is not concatenated
    by the code that handles deprecated <% %> block helpers. Once we remove support
    for <% %> block helpers, we can remove NonConcattingString.
2010-03-15 14:50:43 -07:00
Pratik Naik
03a62f4afe Merge remote branch 'mainstream/master' 2010-03-15 19:46:03 +00:00
José Valim
ee4c89627a Remove formats setters from render template, speeding up partial and collection renderings. 2010-03-13 09:15:13 +01:00
José Valim
f2c0a353ae Finish cleaning up rendering stack from views and move assigns evaluation to controller (so plugins and/or controllers can overwrite just one method). 2010-03-12 20:39:53 +01:00
Jeroen van Dijk
20eb1ca77e Updated documentation for block helpers in render/layouts.rb 2010-03-12 17:15:21 +01:00
Pratik Naik
e68bfaf1fe Merge remote branch 'mainstream/master'
Conflicts:
	activerecord/lib/active_record/base.rb
	railties/lib/rails/configuration.rb
	railties/lib/rails/log_subscriber.rb
2010-03-12 16:00:01 +00:00
Jeroen van Dijk
ef6462c730 Updated documentation for block helpers in render/partials.rb 2010-03-12 16:50:15 +01:00
José Valim
2a12686832 Allow anything that responds to render to be given as :template and use find_template instead of find in views. 2010-03-12 14:25:10 +01:00
José Valim
8f082ff421 Clean LookupContext API. 2010-03-08 23:25:16 +01:00
José Valim
36eb1a686c Bring AM up to date with new rendering stack. 2010-03-08 20:57:33 +01:00
José Valim
68cda695da Speed up performance in resolvers by adding fallbacks just when required. 2010-03-08 16:32:40 +01:00
José Valim
44ebab96da Rename Template::Lookup to LookupContext. 2010-03-08 15:19:03 +01:00
José Valim
ea68fe59c6 More refactoring on the views side of rendering. 2010-03-08 14:46:57 +01:00
José Valim
0a85380966 Finally moved the find template logic to the views. 2010-03-08 11:32:01 +01:00
José Valim
4bae77a89b More cleanup on the layouts side. 2010-03-08 02:58:16 +01:00
José Valim
ffd8d753f1 Move layout lookup to views. 2010-03-08 02:04:18 +01:00
José Valim
c7564d74e8 Added template lookup responsible to hold all information used in template lookup. 2010-03-07 19:41:58 +01:00
Jose Fernandez
a04b44910e Solved a problem that prevented render :file => work in layouts
Signed-off-by: wycats <wycats@gmail.com>
2010-03-05 08:52:10 -08:00
Carlhuda
b85ea58eb5 Change AV formats so they can delegate to the controller. Now users (or plugins) can override details_for_render in their controllers and add appropriate additional details. Now if only they could *do* something with those details... 2010-03-01 14:37:05 -08:00
Santiago Pastorino and José Ignacio Costa
e115eb097e More html_safe strings now use the safe_concat method
[#3856 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-02-05 13:28:43 -08:00
Yehuda Katz
4cbb9db0a5 For performance reasons, you can no longer call html_safe! on Strings. Instead, all Strings are always not html_safe?. Instead, you can get a SafeBuffer from a String by calling #html_safe, which will SafeBuffer.new(self).
* Additionally, instead of doing concat("</form>".html_safe), you can do
    safe_concat("</form>"), which will skip both the flag set, and the flag
    check.
  * For the first pass, I converted virtually all #html_safe!s to #html_safe,
    and the tests pass. A further optimization would be to try to use
    #safe_concat as much as possible, reducing the performance impact if
    we know up front that a String is safe.
2010-01-31 19:39:13 -08:00
Xavier Noria
5c53ffe1db Add missing require for Object#try [#3771 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2010-01-22 22:20:00 +05:30
José Valim
1c30ec23fe In heterogeneous collections, neither the @path nor the @template are available, so we need to tell that we are simply rendering a collection. 2010-01-15 17:43:45 +01:00
José Valim
e5a2a9fced Remove URI object from ActiveResource notification, send the :mailer class in AM (like in AP#process_action) and remove locale instrumentation. 2010-01-15 15:57:33 +01:00
José Valim
a5a9156b4e Template rendering should include layout time. 2010-01-15 12:24:32 +01:00
José Valim
0a8004efd2 Provide useful information when instrumenting partials. 2010-01-11 10:21:15 +01:00
José Valim
3990310a2b Use underscore in notification namespaces. 2010-01-04 00:03:56 +01:00
José Valim
6fbe9ef2ff Use namespaces in notifications. 2010-01-03 20:39:42 +01:00
José Valim
50aa876f32 Make rendering in ActionView happen through _render_template, as the rendering which comes from ActionController. 2009-12-31 18:40:20 -08:00
José Valim
75ba102a80 Remove ActionView inline logging to ActiveSupport::Notifications and create ActionController::Base#log_event, so everything can be logged within one listener. Also expose log_process_action as a hook for different modules to include their own information during the action processing. This allow ActiveRecord to hook and any other ORM. Finally, this commit changes 'Processing' and 'Rendering' in logs to 'Processed' and 'Rendered' because at the point it's logged, everying already happened. 2009-12-26 20:28:53 +01:00
José Valim
8a36e907d2 More <%= render(@posts) %> optimization. 2009-12-26 14:11:04 +01:00
José Valim
ff1a1c0b4d Optimize <%= render(@posts) %>. 2009-12-26 14:11:04 +01:00
José Valim
c86424a72d Break instrumentation into several end-points so rendering of partials can be optimized. 2009-12-26 14:11:04 +01:00
José Valim
48273a44c6 Wrap layout rendering in one method: _render_layout (this should make partial instrumentation easier). 2009-12-26 14:11:04 +01:00