16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/mongo_mapper/plugins/versioned.rb', line 16
def versioned(options={})
configuration = { :ignored_keys => %w(_id version_number) }
configuration[:ignored_keys].concat(options[:ignored_keys]).uniq if options.key?(:ignored_keys)
key :version_number, Integer, :default => 1
many :versions, :class => MongoMapper::Plugins::Versioned::Version, :foreign_key => :versioned_id, :dependent => :destroy, :order => :version_number.asc
after_create :create_version, :if => :should_create_initial_version?
before_update :create_version, :if => :should_create_version?
define_method "ignored_keys" do
configuration[:ignored_keys]
end
end
|