Problem saving object

I'm using the Cache-Money gem on this app, and I'm getting this weird
error whenever I try to create a new object.

Rails 2.3.5
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

NoMethodError (undefined method `<=>' for #<Listing:0x2aaaae156e08>):

This happens even in the console when I try to create a new Listing
object and save it.

l = Listing.new
l.name = "test"
l.save

NoMethodError: undefined method `<=>' for #<Listing:0x2b9595d76350>

Has anyone ever seen this before? Have any ideas of where I should look?

Thanks,

~Jeremy

NoMethodError (undefined method `<=>' for #<Listing:0x2aaaae156e08>):

This happens even in the console when I try to create a new Listing
object and save it.

l = Listing.new
l.name = "test"
l.save

NoMethodError: undefined method `<=>' for #<Listing:0x2b9595d76350>

Something's trying to compare 2 Listing objects, which don't have any
such comparison method, apparently.

a = Object.new

=> #<Object:0x1016b0498>

b = Object.new

=> #<Object:0x1016ac848>

a <=> b

NoMethodError: undefined method `<=>' for #<Object:0x1016b0498>
  from (irb):22

Unlike, say:

Integer.respond_to?("<=>")

=> true

4 <=> 5

=> -1

5 <=> 4

=> 1

So you need to find where that comparison is being made -- since it's
on save possibly some validation?

HTH,

Hassan Schroeder wrote:

NoMethodError (undefined method `<=>' for #<Listing:0x2aaaae156e08>):

This happens even in the console when I try to create a new Listing
object and save it.

l = Listing.new
l.name = "test"
l.save

NoMethodError: undefined method `<=>' for #<Listing:0x2b9595d76350>

Something's trying to compare 2 Listing objects, which don't have any
such comparison method, apparently.

a = Object.new

=> #<Object:0x1016b0498>

b = Object.new

=> #<Object:0x1016ac848>

a <=> b

NoMethodError: undefined method `<=>' for #<Object:0x1016b0498>
  from (irb):22

Unlike, say:

Integer.respond_to?("<=>")

=> true

4 <=> 5

=> -1

5 <=> 4

=> 1

So you need to find where that comparison is being made -- since it's
on save possibly some validation?

HTH,
--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
twitter: @hassan

Yeah, that much I'm certain of. The only thing I don't know is maybe if
cache-money does something with that when trying to save an object and
throwing it into cache.

This all works perfectly fine on my local machine, just not on the
production server. So I figure it's some gem that only does certain
things in production. I'm using Geokit too, so if anyone knows of any
issue with either of these gems that might cause something like this,
please let me know.

Thanks for the help.

~Jeremy

Can't you see from the trace where it is failing?

Colin

Colin Law wrote:

l.name = "test"

a <=> b
5 <=> 4

Yeah, that much I'm certain of. The only thing I don't know is maybe if
cache-money does something with that when trying to save an object and
throwing it into cache.

This all works perfectly fine on my local machine, just not on the
production server. So I figure it's some gem that only does certain
things in production. I'm using Geokit too, so if anyone knows of any
issue with either of these gems that might cause something like this,
please let me know.

Can't you see from the trace where it is failing?

Colin

Yeah, I looked through the trace, and it was nothing but all these
cache-money calls. I figured it out though, had nothing to do with
cache-money. It was Geokit. I just started commenting out lines until it
worked, and taking out acts_as_mappable seemed to have fixed it >.< I'm
sure this is a "hack" solution because it doesn't make sense at all.
Thanks for the help guys!

~Jeremy