Rails console output shows "\n" rather than putting in new line? is there a way to change this?

Hi,
I note rails console shows "\n" rather than putting in new line? For
example:

?> Category.find(:first).to_yaml
=> "--- !ruby/object:Category \nattributes: \n updated_at: 2009-01-20
03:39:22\n tax_item_id: \n category_type_id: \"2\"\n title: Investment\n id:
\"1\"\n category_id: \n category_group_id: \"5\"\n created_at: 2009-01-20
03:39:22\n active: \"0\"\nattributes_cache: {}\n\n"

I note that if you "puts" the same thing from an Rspec test it formats fine
(with new lines)

Question: Is there a way to change this for the console?

···

--
Greg
http://blog.gregnet.org/

either:
  puts Category.find(:first).to_yaml
or since irb saves the last expression into the variable _ (yes, an underscore):
  puts _

-Rob

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com

···

On Jan 20, 2009, at 3:00 PM, Greg Hauptmann wrote:

Hi,
I note rails console shows "\n" rather than putting in new line? For
example:

?> Category.find(:first).to_yaml
=> "--- !ruby/object:Category \nattributes: \n updated_at: 2009-01-20
03:39:22\n tax_item_id: \n category_type_id: \"2\"\n title: Investment\n id:
\"1\"\n category_id: \n category_group_id: \"5\"\n created_at: 2009-01-20
03:39:22\n active: \"0\"\nattributes_cache: {}\n\n"

I note that if you "puts" the same thing from an Rspec test it formats fine
(with new lines)

Question: Is there a way to change this for the console?
--
Greg
http://blog.gregnet.org/

irb inspects the result, either don't convert it to a string, or print it.

?> Category.find(:first)

or

?> y Category.find(:first)

or as rob pointed out:

?> puts Category.find(:first).to_yaml

Usually I don't care about all the fields, so I'll do something like

?> Category.find(:first).title

and leave it at that.

···

On Jan 20, 2009, at 12:00 , Greg Hauptmann wrote:

Hi,
I note rails console shows "\n" rather than putting in new line? For
example:

?> Category.find(:first).to_yaml
=> "--- !ruby/object:Category \nattributes: \n updated_at: 2009-01-20
03:39:22\n tax_item_id: \n category_type_id: \"2\"\n title: Investment\n id:
\"1\"\n category_id: \n category_group_id: \"5\"\n created_at: 2009-01-20
03:39:22\n active: \"0\"\nattributes_cache: {}\n\n"

Question: Is there a way to change this for the console?

Don't rely on the console so much. Put puts in a unit test!

excellent! thanks

···

On Wed, Jan 21, 2009 at 6:16 AM, Rob Biedenharn <Rob@agileconsultingllc.com>wrote:

On Jan 20, 2009, at 3:00 PM, Greg Hauptmann wrote:

Hi,
I note rails console shows "\n" rather than putting in new line? For
example:

?> Category.find(:first).to_yaml
=> "--- !ruby/object:Category \nattributes: \n updated_at: 2009-01-20
03:39:22\n tax_item_id: \n category_type_id: \"2\"\n title: Investment\n
id:
\"1\"\n category_id: \n category_group_id: \"5\"\n created_at: 2009-01-20
03:39:22\n active: \"0\"\nattributes_cache: {}\n\n"

I note that if you "puts" the same thing from an Rspec test it formats
fine
(with new lines)

Question: Is there a way to change this for the console?
--
Greg
http://blog.gregnet.org/

either:
puts Category.find(:first).to_yaml
or since irb saves the last expression into the variable _ (yes, an
underscore):
puts _

-Rob

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com

--
Greg
http://blog.gregnet.org/

Hi --

···

On Wed, 21 Jan 2009, Phlip wrote:

Question: Is there a way to change this for the console?

Don't rely on the console so much. Put puts in a unit test!

I rely heavily on the console, and also on unit tests. The two aren't
in conflict or competition; they're different tools. It's important to
know how irb (in Rails console form or otherwise) works, and why it
produces the output it does.

David

--
David A. Black / Ruby Power and Light, LLC
Ruby/Rails consulting & training: http://www.rubypal.com
Coming in 2009: The Well-Grounded Rubyist (http://manning.com/black2\)

http://www.wishsight.com => Independent, social wishlist management!