Modified: trunk/lib/acts_as_contributable.rb (2992 => 2993)
--- trunk/lib/acts_as_contributable.rb 2012-05-16 15:53:49 UTC (rev 2992)
+++ trunk/lib/acts_as_contributable.rb 2012-05-16 16:00:51 UTC (rev 2993)
@@ -29,7 +29,20 @@
include Mib::Acts::Contributable::InstanceMethods
before_create do |c|
- c.contribution = Contribution.new(:contributor_id => c.contributor_id, :contributor_type => c.contributor_type, :contributable => c)
+
+ # If not specified, create a contribution record and / or policy
+ # record.
+
+ if c.contribution.nil?
+ c.contribution = Contribution.new(
+ :contributor => c.contributor,
+ :contributable => c)
+ end
+
+ if c.contribution.policy.nil?
+ c.contribution.policy = create_default_policy(c.contributor)
+ end
+
end
end
end