diff --git a/lib/rasti/db/collection.rb b/lib/rasti/db/collection.rb index e2474ce..b0fcb76 100644 --- a/lib/rasti/db/collection.rb +++ b/lib/rasti/db/collection.rb @@ -16,6 +16,10 @@ def collection_name @collection_name ||= underscore(demodulize(name)).to_sym end + def collection_fields + @collection_fields ||= model.attributes - relations.keys + end + def primary_key @primary_key ||= :id end diff --git a/spec/collection_spec.rb b/spec/collection_spec.rb index b320a9b..c3ba609 100644 --- a/spec/collection_spec.rb +++ b/spec/collection_spec.rb @@ -6,6 +6,7 @@ it 'Implicit' do Users.collection_name.must_equal :users + Users.collection_fields.must_equal [:id, :name] Users.model.must_equal User Users.primary_key.must_equal :id Users.foreign_key.must_equal :user_id @@ -13,6 +14,7 @@ it 'Explicit' do People.collection_name.must_equal :people + People.collection_fields.must_equal [:document_number, :first_name, :last_name, :birth_date, :user_id] People.model.must_equal Person People.primary_key.must_equal :document_number People.foreign_key.must_equal :document_number