vestal_versions -- can I set it to ignore certain columns?

I'd like my published boolean to be excluded from the calculation as to whether a version is created or not. Can anyone suggest a way to do that?

Thanks,

Walter

I'd like my published boolean to be excluded from the calculation as to whether a version is created or not. Can anyone suggest a way to do that?

Digging into the code a bit, it appears you can specify options to ignore certain columns.

In lib / vestal_versions / creation.rb,         # Returns an array of column names that should be included in the changes of created         # versions. If <tt>vestal_versions_options[:only]</tt> is specified, only those columns         # will be versioned. Otherwise, if <tt>vestal_versions_options[:except]</tt> is specified,         # all columns will be versioned other than those specified. Without either option, the         # default is to version all columns. At any rate, the four "automagic" timestamp columns         # maintained by Rails are never versioned.         def versioned_columns           case             when vestal_versions_options[:only] then self.class.column_names & vestal_versions_options[:only]             when vestal_versions_options[:except] then self.class.column_names - vestal_versions_options[:except]             else self.class.column_names           end - %w(created_at created_on updated_at updated_on)         end

Thanks, that's really helpful, but I'm not sure how to pass this on to vestal_versions. I've tried all manner of arguments to the versioned command, is that not the right place to do this?

class Page < ActiveRecord::Base    versioned :options => {:except => :publish}

(also tried just :except => 'publish', bunch of variations on that theme...)

I'm using version 0.8.0 if that makes any difference.

Thanks in advance,

Walter

I'm looking through the versions on Github -- and it looks like the latest versions might have this, while my older version does not. Gem refuses to update me further than this point, probably because I'm stuck on Ruby 1.8.6 on this machine.

Walter

This is crazy. The version jump from 1.0.1 to 1.0.2 includes a dependency on Ruby 1.8.7, which I don't have. I did manage to update to 1.0.1, we'll see if this works now...

Walter

Finally figured it out. Updating the gem meant a significant change in the database, as well as a method I had been using becoming protected. After a bit of hacking and swearing, I have the desired result. Checking the Publish control no longer forces a new version. Thanks for your help!

Walter