Hi everyone.
I am totally confused by this… If I run rake spec, I get a bunch of
failures
in a particular file, but if I run script/spec on that individual file,
all
examples pass.
The error I am getting is with the pluralize method. I put a debugger
statement in my code to inspect what is happening:
(rdb:1) pluralize(5, ‘foo’)
ArgumentError Exception: wrong number of arguments (2 for 0)
…
This is a situation where I am doing the “self-shunt” method, because I
don’t
know of a better way to accomplish this. In other words, I am doing:
class Foo
def initialize(template, number)
@template = template
@number = number
end
def bar
pluralize(@number, ‘foo’)
end
def bar_link
link_to bar, foo_bar_path
end
def method_missing(*args, &block)
@template.send(*args, &block)
end
end
…
Then in my spec I do:
Foo.new(self, 2).bar.should == “foos”
…
And like I said, if I run this spec individually, it passes, but with
rake
spec, it gives me that wrong number of arguments error.
I would love to structure this differently so that I don’t need to pass
self
into the class initializer, but I am at a total loss for how to do that.
If I do:
include ActionView::Helpers
include ActionController::UrlWriter
Then I get “can’t convert string into hash” errors when ever I try to
access a
named route with link_to.
This is a problem I have had to face over and over, and has proven to be
quite
frustrating. The only solution I have found is to pass self into the
method…
So if anyone has any other suggestions, I’d love to hear it.
Thank you.
Patrick J. Collins
http://collinatorstudios.com