diff options
Diffstat (limited to 'railties')
-rw-r--r-- | railties/guides/rails_guides/textile_extensions.rb | 3 | ||||
-rw-r--r-- | railties/guides/source/getting_started.textile | 9 | ||||
-rw-r--r-- | railties/test/guides/textile_extionsions_test.rb | 37 |
3 files changed, 43 insertions, 6 deletions
diff --git a/railties/guides/rails_guides/textile_extensions.rb b/railties/guides/rails_guides/textile_extensions.rb index 352c5e91dd..0887ebf76b 100644 --- a/railties/guides/rails_guides/textile_extensions.rb +++ b/railties/guides/rails_guides/textile_extensions.rb @@ -15,10 +15,11 @@ module RailsGuides end def tip(body) - body.gsub!(/^TIP[.:](.*)$/) do |m| + body.gsub!(/^TIP[.:](.*?)(\n\Z|\n\n+|\Z)/m) do |m| result = "<div class='info'><p>" result << $1.strip result << '</p></div>' + result << $2 if $2 result end end diff --git a/railties/guides/source/getting_started.textile b/railties/guides/source/getting_started.textile index c2c8ee02ad..41af90e720 100644 --- a/railties/guides/source/getting_started.textile +++ b/railties/guides/source/getting_started.textile @@ -193,14 +193,13 @@ principles: * Using resource identifiers such as URLs to represent resources. * Transferring representations of the state of that resource between system components. -For example, to a Rails application a request such as this: +For example, the following HTTP request: <tt>DELETE /photos/17</tt> -would be understood to refer to a photo resource with the ID of 17, and to -indicate a desired action - deleting that resource. REST is a natural style for -the architecture of web applications, and Rails hooks into this shielding you -from many of the RESTful complexities and browser quirks. +refers to a photo resource with an ID of 17 and indicates an action to be taken +upon it: deletion. REST is a natural web application architecture which Rails +abstracts, shielding you from RESTful complexities and browser quirks. If you'd like more details on REST as an architectural style, these resources are more approachable than Fielding's thesis: diff --git a/railties/test/guides/textile_extionsions_test.rb b/railties/test/guides/textile_extionsions_test.rb new file mode 100644 index 0000000000..9f1068d9be --- /dev/null +++ b/railties/test/guides/textile_extionsions_test.rb @@ -0,0 +1,37 @@ +require 'isolation/abstract_unit' +require 'guides/rails_guides/textile_extensions' + +class TextileExtensionsTest < Test::Unit::TestCase + include ActiveSupport::Testing::Isolation + include RailsGuides::TextileExtensions + + test "tips can handle a single line" do + expected_output = "<div class='info'><p>this is a single line tip</p></div>" + assert_equal expected_output, tip('TIP. this is a single line tip') + end + + def setup + @multi_line_tip = "This is a multi-line tip.\n" + + "Isn't it fantastic?" + end + + test "tips can handle a multi-line tip" do + expected_output = "<div class='info'><p>#{@multi_line_tip}</p></div>" + + assert_equal expected_output, tip("TIP. #{@multi_line_tip}") + end + + test "muli-line tips handles text before and after the tip" do + pre_line = "This is text before hand.\n\n" + post_line = "\n\nThis is some text after" + input_text = pre_line + + "TIP. #{@multi_line_tip}" + + post_line + + expected_output = pre_line + + "<div class='info'><p>#{@multi_line_tip}</p></div>" + + post_line + + assert_equal expected_output, tip(input_text) + end +end
\ No newline at end of file |