Problems with annotate gem

Hi,

I’m trying to use annotate to document my model classes. Two of the models don’t work, though, with the following errors:

$ bundle exec annotate --position before

Unable to annotate acceptance_criterion_results.rb: #<NoMethodError: undefined method `assert_valid_keys’ for :acceptance_criterion:Symbol>

Unable to annotate test.rb: #<TypeError: can’t convert Symbol into Integer>

Annotated (4): AcceptanceCriterion, Invoice, OutdataInvoice, TestExecution

There’s nothing special about either of the models. Any help is appreciated.

I am using Ruby 1.9.3-p0 and annotate 2.4.1.beta1 (2.4.0 crashed before annotating anything).

Thanks,

Cassiano

Can you post your model code in a gist?

Sure, here you go:

https://gist.github.com/1844590

Cassiano

Sure, here you go:

https://gist.github.com/1844590

schema.rb might be useful too.

Colin

Will you also include the TestExecution model?

Sure, here you go:

https://gist.github.com/1844590

Model classes are usually singular, so the class for table acceptance_criterion_results would be AcceptanceCriterionResult in acceptance_criterion_result.rb

Colin

I’ve updated the gist with the other files.

Colin: I understand that, but that was a semantic decision to keep results in the plural. I don’t think either format should break annotate, though…

Cassiano

I've updated the gist with the other files.

Colin: I understand that, but that was a semantic decision to keep results in the plural. I don't think either format should break annotate, though...

I would try it with the class singular if I were you, in order to determine if that is part of the problem. Easy enough to hack it to find out. I think you should just need to rename the model file and change the class name. It may break the rest of the app but that does not matter if just trying annotate.

By the way, I find it easier to follow the thread if replies are not top posted but are inserted at appropriate points in the previous email.

Colin

I’ve updated the gist with the other files.

Colin: I understand that, but that was a semantic decision to keep results

in the plural. I don’t think either format should break annotate, though…

I would try it with the class singular if I were you, in order to

determine if that is part of the problem. Easy enough to hack it to

find out. I think you should just need to rename the model file and

change the class name. It may break the rest of the app but that does

not matter if just trying annotate.

I just tried that following your suggestion and got the same errors.

By the way, I find it easier to follow the thread if replies are not

top posted but are inserted at appropriate points in the previous

email.

Thanks for the friendly reminder. It’s been sometime since I last interacted in a mailing list, and these things are easy to forget, but I’ll do better from now on.

Cassiano