diff options
author | Xavier Noria <fxn@hashref.com> | 2010-06-10 22:00:55 +0200 |
---|---|---|
committer | Xavier Noria <fxn@hashref.com> | 2010-06-10 22:00:55 +0200 |
commit | 63560660062d552d6bbebec007154f0c639bf865 (patch) | |
tree | 0ff7ee5c1a63815685e9640ca4a9ceafb7732178 /actionpack/lib/action_view | |
parent | 59e89facc2264322bcab59c9a8622380b62d4d40 (diff) | |
parent | 61fc7a455099f179de88967f403f2038b9d3c821 (diff) | |
download | rails-63560660062d552d6bbebec007154f0c639bf865.tar.gz rails-63560660062d552d6bbebec007154f0c639bf865.tar.bz2 rails-63560660062d552d6bbebec007154f0c639bf865.zip |
Merge remote branch 'rails/master'
Diffstat (limited to 'actionpack/lib/action_view')
-rw-r--r-- | actionpack/lib/action_view/base.rb | 23 | ||||
-rw-r--r-- | actionpack/lib/action_view/helpers/text_helper.rb | 83 | ||||
-rw-r--r-- | actionpack/lib/action_view/test_case.rb | 14 |
3 files changed, 15 insertions, 105 deletions
diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb index 7dd9dea358..5fa1b5619b 100644 --- a/actionpack/lib/action_view/base.rb +++ b/actionpack/lib/action_view/base.rb @@ -158,7 +158,6 @@ module ActionView #:nodoc: end include Helpers, Rendering, Partials, Layouts, ::ERB::Util, Context - extend ActiveSupport::Memoizable # Specify whether RJS responses should be wrapped in a try/catch block # that alert()s the caught exception (and then re-raises it). @@ -170,9 +169,6 @@ module ActionView #:nodoc: @@field_error_proc = Proc.new{ |html_tag, instance| "<div class=\"field_with_errors\">#{html_tag}</div>".html_safe } class_attribute :helpers - remove_method :helpers - attr_reader :helpers - class_attribute :_router class << self @@ -201,20 +197,21 @@ module ActionView #:nodoc: end def self.process_view_paths(value) - return value.dup if value.is_a?(PathSet) - ActionView::PathSet.new(Array.wrap(value)) + value.is_a?(PathSet) ? + value.dup : ActionView::PathSet.new(Array.wrap(value)) end def initialize(lookup_context = nil, assigns_for_first_render = {}, controller = nil, formats = nil) #:nodoc: - @config = nil - @assigns = assigns_for_first_render.each { |key, value| instance_variable_set("@#{key}", value) } - @helpers = self.class.helpers || Module.new + self.assigns = assigns_for_first_render.each { |key, value| instance_variable_set("@#{key}", value) } + self.helpers = self.class.helpers || Module.new if @_controller = controller @_request = controller.request if controller.respond_to?(:request) end - @_config = ActiveSupport::InheritableOptions.new(controller.config) if controller && controller.respond_to?(:config) + config = controller && controller.respond_to?(:config) ? controller.config : {} + @_config = ActiveSupport::InheritableOptions.new(config) + @_content_for = Hash.new { |h,k| h[k] = ActiveSupport::SafeBuffer.new } @_virtual_path = nil @output_buffer = nil @@ -228,12 +225,6 @@ module ActionView #:nodoc: @controller_path ||= controller && controller.controller_path end - def punctuate_body!(part) - flush_output_buffer - response.body_parts << part - nil - end - ActiveSupport.run_load_hooks(:action_view, self) end end diff --git a/actionpack/lib/action_view/helpers/text_helper.rb b/actionpack/lib/action_view/helpers/text_helper.rb index 8f63845d49..a06073ce66 100644 --- a/actionpack/lib/action_view/helpers/text_helper.rb +++ b/actionpack/lib/action_view/helpers/text_helper.rb @@ -220,89 +220,6 @@ module ActionView end * "\n" end - # Returns the text with all the Textile[http://www.textism.com/tools/textile] codes turned into HTML tags. - # - # You can learn more about Textile's syntax at its website[http://www.textism.com/tools/textile]. - # <i>This method is only available if RedCloth[http://redcloth.org/] is available</i>. - # - # ==== Examples - # textilize("*This is Textile!* Rejoice!") - # # => "<p><strong>This is Textile!</strong> Rejoice!</p>" - # - # textilize("I _love_ ROR(Ruby on Rails)!") - # # => "<p>I <em>love</em> <acronym title="Ruby on Rails">ROR</acronym>!</p>" - # - # textilize("h2. Textile makes markup -easy- simple!") - # # => "<h2>Textile makes markup <del>easy</del> simple!</h2>" - # - # textilize("Visit the Rails website "here":http://www.rubyonrails.org/.) - # # => "<p>Visit the Rails website <a href="http://www.rubyonrails.org/">here</a>.</p>" - # - # textilize("This is worded <strong>strongly</strong>") - # # => "<p>This is worded <strong>strongly</strong></p>" - # - # textilize("This is worded <strong>strongly</strong>", :filter_html) - # # => "<p>This is worded <strong>strongly</strong></p>" - # - def textilize(text, *options) - options ||= [:hard_breaks] - text = sanitize(text) unless text.html_safe? || options.delete(:safe) - - if text.blank? - "" - else - textilized = RedCloth.new(text, options) - textilized.to_html - end.html_safe - end - - # Returns the text with all the Textile codes turned into HTML tags, - # but without the bounding <p> tag that RedCloth adds. - # - # You can learn more about Textile's syntax at its website[http://www.textism.com/tools/textile]. - # <i>This method is only available if RedCloth[http://redcloth.org/] is available</i>. - # - # ==== Examples - # textilize_without_paragraph("*This is Textile!* Rejoice!") - # # => "<strong>This is Textile!</strong> Rejoice!" - # - # textilize_without_paragraph("I _love_ ROR(Ruby on Rails)!") - # # => "I <em>love</em> <acronym title="Ruby on Rails">ROR</acronym>!" - # - # textilize_without_paragraph("h2. Textile makes markup -easy- simple!") - # # => "<h2>Textile makes markup <del>easy</del> simple!</h2>" - # - # textilize_without_paragraph("Visit the Rails website "here":http://www.rubyonrails.org/.) - # # => "Visit the Rails website <a href="http://www.rubyonrails.org/">here</a>." - def textilize_without_paragraph(text, *options) - textiled = textilize(text, *options) - if textiled[0..2] == "<p>" then textiled = textiled[3..-1] end - if textiled[-4..-1] == "</p>" then textiled = textiled[0..-5] end - return textiled - end - - # Returns the text with all the Markdown codes turned into HTML tags. - # <i>This method requires BlueCloth[http://www.deveiate.org/projects/BlueCloth] - # to be available</i>. - # - # ==== Examples - # markdown("We are using __Markdown__ now!") - # # => "<p>We are using <strong>Markdown</strong> now!</p>" - # - # markdown("We like to _write_ `code`, not just _read_ it!") - # # => "<p>We like to <em>write</em> <code>code</code>, not just <em>read</em> it!</p>" - # - # markdown("The [Markdown website](http://daringfireball.net/projects/markdown/) has more information.") - # # => "<p>The <a href="http://daringfireball.net/projects/markdown/">Markdown website</a> - # # has more information.</p>" - # - # markdown('') - # # => '<p><img src="http://rubyonrails.com/images/rails.png" alt="The ROR logo" title="Ruby on Rails" /></p>' - def markdown(text, *options) - text = sanitize(text) unless text.html_safe? || options.delete(:safe) - (text.blank? ? "" : BlueCloth.new(text).to_html).html_safe - end - # Returns +text+ transformed into HTML using simple formatting rules. # Two or more consecutive newlines(<tt>\n\n</tt>) are considered as a # paragraph and wrapped in <tt><p></tt> tags. One newline (<tt>\n</tt>) is diff --git a/actionpack/lib/action_view/test_case.rb b/actionpack/lib/action_view/test_case.rb index 4dbbd2eb6a..15d424be74 100644 --- a/actionpack/lib/action_view/test_case.rb +++ b/actionpack/lib/action_view/test_case.rb @@ -131,12 +131,14 @@ module ActionView end def _view - view = ActionView::Base.new(ActionController::Base.view_paths, _assigns, @controller) - view.singleton_class.send :include, _helpers - view.singleton_class.send :include, @controller._router.url_helpers - view.singleton_class.send :delegate, :alert, :notice, :to => "request.flash" - view.output_buffer = self.output_buffer - view + @_view ||= begin + view = ActionView::Base.new(ActionController::Base.view_paths, _assigns, @controller) + view.singleton_class.send :include, _helpers + view.singleton_class.send :include, @controller._router.url_helpers + view.singleton_class.send :delegate, :alert, :notice, :to => "request.flash" + view.output_buffer = self.output_buffer + view + end end EXCLUDE_IVARS = %w{ |