Hello,
I’ve been wondering about this for some time now… Why don’t any of the
following methods work: string.at/from/first/last/humanize/pluralize ?
IRB returns:
NoMethodError: undefined method `pluralize’ for “something”:String
You can try it yourself (also by using web IRB from here:
http://tryruby.hobix.com/ )
Those methods are mentioned in “Agile Development with Rails” for
example… you can also see people using them on Google code search.
However, they are not mentioned in documentation:
http://ruby-doc.org/core/classes/String.html
This is funny. Also… string.to_json and string.to_yaml are mentioned in
the agile book, but don’t work either.
This example doesn’t go through in IRB:
For demo purposes, create a Ruby structure with two attributes
Rating = Struct.new(:name, :ratings)
rating = Rating.new(“Rails” , [ 10, 10, 9.5, 10 ])
and serialize an object of that structure two ways…
puts rating.to_json #=> [“Rails”, [10, 10, 9.5, 10]]
puts rating.to_yaml #=> — !ruby/struct:Rating
name: Rails
ratings:
Can you help me understand all this? Thank you!
David
David,
Those are not standard Ruby methods. They are defined in the Rails
ActiveSupport library, and thus can only be accessed from within Rails
applications (or other applications that explicitly require
ActiveSupport).
David K. wrote:
Hello,
I’ve been wondering about this for some time now… Why don’t any of the
following methods work: string.at/from/first/last/humanize/pluralize ?
IRB returns:
NoMethodError: undefined method `pluralize’ for “something”:String
You can try it yourself (also by using web IRB from here:
http://tryruby.hobix.com/ )
Those methods are mentioned in “Agile Development with Rails” for
example… you can also see people using them on Google code search.
However, they are not mentioned in documentation:
class String - RDoc Documentation
This is funny. Also… string.to_json and string.to_yaml are mentioned in
the agile book, but don’t work either.
This example doesn’t go through in IRB:
For demo purposes, create a Ruby structure with two attributes
Rating = Struct.new(:name, :ratings)
rating = Rating.new(“Rails” , [ 10, 10, 9.5, 10 ])
and serialize an object of that structure two ways…
puts rating.to_json #=> [“Rails”, [10, 10, 9.5, 10]]
puts rating.to_yaml #=> — !ruby/struct:Rating
name: Rails
ratings:
Can you help me understand all this? Thank you!
David
Ok, that explains everything - thank you very much Jamis, I appreciate
it!
Jamis B. wrote:
David,
Those are not standard Ruby methods. They are defined in the Rails
ActiveSupport library, and thus can only be accessed from within Rails
applications (or other applications that explicitly require
ActiveSupport).
Hmm, when in IRB, I enter:
irb(main)> require ‘rubygems’
=> true
irb(main)> require_gem ‘activesupport’
=> true
but I still get NoMethodError when doing “something”.pluralize … now
sure, I think it worked 2 days ago…
What am I missing?
thank you
dxk3355
January 15, 2007, 11:45pm
5
On 1/15/07, David K. [email protected] wrote:
ah now I know why… this works:
irb(main):001:0> require ‘rubygems’
=> true
irb(main):002:0> require ‘active_support’
=> true
interesting… can someone explain what is happening?
so require_gem is no good in irb … why it doesn’t report an error?
Yes. require_gem is deprecated. Don’t use it if at all possible.
-austin
On 1/15/07, David K. [email protected] wrote:
ah now I know why… this works:
irb(main):001:0> require ‘rubygems’
=> true
irb(main):002:0> require ‘active_support’
=> true
interesting… can someone explain what is happening?
so require_gem is no good in irb … why it doesn’t report an error?
require_gem is “good”; it just isn’t doing what you think it does.
Here’s a good discussion of the issue:
http://redhanded.hobix.com/inspect/autorequireIsBasicallyGoneEveryone.html
ah now I know why… this works:
irb(main):001:0> require ‘rubygems’
=> true
irb(main):002:0> require ‘active_support’
=> true
interesting… can someone explain what is happening?
so require_gem is no good in irb … why it doesn’t report an error?
thank you
David K. wrote:
Hmm, when in IRB, I enter:
irb(main)> require ‘rubygems’
=> true
irb(main)> require_gem ‘activesupport’
=> true
but I still get NoMethodError when doing “something”.pluralize … now
sure, I think it worked 2 days ago…
What am I missing?
thank you
Hi –
On Sun, 14 Jan 2007, David K. wrote:
http://tryruby.hobix.com/ )
Those methods are mentioned in “Agile Development with Rails” for
example… you can also see people using them on Google code search.
However, they are not mentioned in documentation:
class String - RDoc Documentation
This is funny. Also… string.to_json and string.to_yaml are mentioned in
the agile book, but don’t work either.
Those methods are add-ons that come with Rails. They’re not part of
standard Ruby.
David
On 1/14/07, Jamis B. [email protected] wrote:
You can still use ActiveSupport without Rails. Just
gem install ActiveSupport
and then require ‘active_support’ in your program and pluralize away!
Nate
dxk3355
January 19, 2007, 4:31pm
10
I think you must require ‘rubygems’ after ‘active_support’.
dxk3355
January 19, 2007, 4:31pm
11
I wanted say:
“you must require ‘rubygems’ before ‘active_support’” (s/after/before)
:-p