What if you don’t want your model to be tied to a database therefore not ActiveRecord, where do you put that model instead?
I want to write a class that would wrap together the various functions from, let’s say, the AWS API. Would I write that class and place it in the models directory? Or should I place it elsewhere? Thank you.
What if you don't want your model to be tied to a database therefore not
ActiveRecord, where do you put that model instead?
In models, because nobody said models had to be ActiveRecord because
models define behaviors but if you want the Railism that "models
should be ActiveRecord" kicked out of your models you should upgrade
to Rails 4 where now you can have ActiveRecord::Base and
ActiveModel::Model.
I want to write a class that would wrap together the various functions from,
let's say, the AWS API. Would I write that class and place it in the models
directory? Or should I place it elsewhere? Thank you.
It depends on what you mean but "wrap together various functions".
By "wrap together", I meant I would write a single function for all the
functions I would use from the AWS API.
So, I should put this in the models directory, right? I want the
controller
to remain a "controller" with respect to rails-isms.
class MyAWSAPI
def list_servers
... call to AWS API to get list of servers...
end
def show_server(int)
... call to AWS API to get info on server int ...
end
end
Yes, that would be a model object and models would be a good place to
put that. You might even consider implementing ActiveModel with your
class and gain some ActiveRecord like behavior, but not actually be an
ActiveRecord subclass. Depends on your needs.