Using a model in a library


#1

Hi,

I’m trying to verify that a parameter is an instance of a specific
class in Rails:

def schedule(action, *args)
if arg.is_a? Aircraft

end
end

I’m doing this in a library class (the file is in lib/) and I get an
uninitialized constant Aircraft error. Aircraft is a model class, with
a corresponding aircraft.rb file in app/models.

Can I use model classes and instances in a library? How?

Thanks,
Xtian


#2

How and where are you executing the code in this lib from, rake task,
script/console, etc.?

On Nov 28, 12:10 pm, Christian L. removed_email_address@domain.invalid


#3

Thanks for your answer: I tried to run the app in the browser: it
works!
So it doesn’t work in RSpec. I didn’t try the code in the browser at
first as I’m trying to do TDD. Still stuck there, though.

Christian


#4

Sounds like you just need a line like this in the top of the lib file:

require ‘app/models/aircraft’

If its already loaded (ie: running script/server) nothing will change,
but if its not already loaded (I don’t use RSpec, but it sounds like
its not autoloading classes) this should fix it. You might need to
play with the path and do something like this:

require File.dirname(FILE)+’/…/app/models/aircraft’

On Nov 29, 7:45 am, Christian L. removed_email_address@domain.invalid