32 lines
722 B
Ruby
32 lines
722 B
Ruby
class SwfAsset < ActiveRecord::Base
|
|
set_inheritance_column 'inheritance_type'
|
|
|
|
belongs_to :zone
|
|
|
|
delegate :depth, :to => :zone
|
|
|
|
scope :for_json, includes(:zone)
|
|
scope :fitting_body_id, lambda { |body_ids|
|
|
body_ids = [body_ids] unless body_ids.is_a?(Array)
|
|
body_ids << 0
|
|
where(arel_table[:body_id].in(body_ids))
|
|
}
|
|
|
|
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
|
|
|
|
def as_json(options={})
|
|
{
|
|
:id => id,
|
|
:depth => depth,
|
|
:local_url => local_url,
|
|
:body_id => body_id,
|
|
:zone_id => zone_id
|
|
}
|
|
end
|
|
end
|