Hi,
I'm getting a "superclass mismatch for class TooManyAnswersError" with the
following code. Other topics I've found talk about code being reloaded, which
I'm sure isn't happening here.
···
===========
class QuestionnaireAnswerError < ArgumentError
attr_accessor :question_id
def initialize(*args)
self.question_id = args.shift
super(args)
end
end
class BadAnswerCountError < QuestionnaireAnswerError
end
class TooManyAnswersError < BadAnswerCountError
end
Changing the penultimate line to "class TooManyAnswersError <
QuestionnaireAnswerError" works (although doesn't do what I want)
Hope someone can help work out what I'm doing wrong,
Gareth
Since that code appears to be fine on its own, you might need to tell
us a little more about the surrounding code and the environment in
which it's running. For example, there are some pretty intractable
complications with Rails's automatic loading/reloading.
Paul.
···
On 05/09/06, Gareth Adams <gareth.adams@gmail.com> wrote:
I'm getting a "superclass mismatch for class TooManyAnswersError" with the
following code. Other topics I've found talk about code being reloaded, which
I'm sure isn't happening here.
Gareth Adams wrote:
Hope someone can help work out what I'm doing wrong,
Gareth
Changing your example slightly shows what could be the problem:
class QuestionnaireAnswerError < ArgumentError
attr_accessor :question_id
def initialize(*args)
self.question_id = args.shift
super(args)
end
end
class BadAnswerCountError < QuestionnaireAnswerError
end
class TooManyAnswersError < BadAnswerCountError
end
class TooManyAnswersError < QuestionnaireAnswerError
end
It looks like you've tried to define the class twice with different
super classes.
HTH
···
--
Posted via http://www.ruby-forum.com/\.