dev util method to manually change SWF asset body ID

This commit is contained in:
Emi Matchu 2013-06-26 20:08:19 -07:00
parent b93dbb8e49
commit 6984201990

View file

@ -176,6 +176,13 @@ class SwfAsset < ActiveRecord::Base
select('swf_assets.*, parents_swf_assets.parent_id') select('swf_assets.*, parents_swf_assets.parent_id')
} }
# To manually change the body ID without triggering the usual change to 0,
# use this override method.
def override_body_id(new_body_id)
@body_id_overridden = true
self.body_id = new_body_id
end
def local_url def local_url
'/' + File.join(PUBLIC_ASSET_DIR, local_path_within_outfit_swfs) '/' + File.join(PUBLIC_ASSET_DIR, local_path_within_outfit_swfs)
end end
@ -259,7 +266,7 @@ class SwfAsset < ActiveRecord::Base
before_save do before_save do
# If an asset body ID changes, that means more than one body ID has been # If an asset body ID changes, that means more than one body ID has been
# linked to it, meaning that it's probably wearable by all bodies. # linked to it, meaning that it's probably wearable by all bodies.
self.body_id = 0 if !self.body_specific? || (!self.new_record? && self.body_id_changed?) self.body_id = 0 if !@body_id_overridden && (!self.body_specific? || (!self.new_record? && self.body_id_changed?))
end end
after_commit :on => :create do after_commit :on => :create do