impress/app/models/swf_asset.rb

37 lines
817 B
Ruby
Raw Normal View History

class SwfAsset < ActiveRecord::Base
set_inheritance_column 'inheritance_type'
delegate :depth, :to => :zone
scope :fitting_body_id, lambda { |body_id|
where(arel_table[:body_id].in([body_id, 0]))
}
BodyIdsFittingStandard = PetType::StandardBodyIds + [0]
scope :fitting_standard_body_ids, lambda {
where(arel_table[:body_id].in(BodyIdsFittingStandard))
}
2010-05-20 16:56:08 -07:00
def local_url
uri = URI.parse(url)
uri.host = RemoteImpressHost
pieces = uri.path.split('/')
uri.path = "/assets/swf/outfit/#{pieces[2]}/#{pieces[4..7].join('/')}"
uri.to_s
end
2010-05-20 16:56:08 -07:00
def as_json(options={})
{
:id => id,
:depth => depth,
2010-05-20 17:25:36 -07:00
:local_url => local_url,
2010-06-07 16:50:49 -07:00
:body_id => body_id,
:zone_id => zone_id
}
end
def zone
@zone ||= Zone.find(zone_id)
end
end