Getting model column names

Hello,

I am writing a RoR application that connects to a couchDB database using couchrest_model.

The definition of my model is the following one:

class BdsDataAuthor < CouchRest::Model::Base   property :id, Integer   property :first_name, String   property :last_name, String end

I would like to be able to get the list of the model columns, e.g., the result of BdsDataAuthor.columns would be [id, first_name, last_name]

Is it possible? I saw that active_record provides this kind of method (column_names), but since I am not using active_record...

A solution that I tried is to create a method in the model class (it works but its not the "best" solution...):

def getColumns    columns = Array.new    columns << "id"    columns << "first_name"    columns << "last_name" end

Any idea/suggestion to solve this problem?

Thank you

**columns**(table_name, name = nil) public Returns an array of Column objects for the table specified by table_name. See the concrete implementation for details on the expected parameter values.

Try this.

Ah sorry, I didn’t see that you aren’t using Active Record…

I haven’t used CouchRest, but a quick skim of this:

https://github.com/couchrest/couchrest_model/blob/master/lib/couchrest/model/properties.rb

seems to indicate that what you’re looking for could be accomplished with:

BdsDataAuthor.properties_by_name.keys

–Matt Jones

Thanks for your answer.

I will try the properties_with_values method to see if it returns what I want.

Best regards

Matt Jones wrote in post #1061503:

  property :first_name, String

Any idea/suggestion to solve this problem?

I haven't used CouchRest, but a quick skim of this: