class AssetType

def initialize(name, options = {})

def initialize(name, options = {})
  options = options.symbolize_keys
  @name = name
  @icon_name = options[:icon] || name
  @processors = options[:processors] || []
  @styles = options[:styles] || {}
  @styles = standard_styles if @styles == :standard
  @default_radius_tag = options[:default_radius_tag] || 'link'
  @extensions = options[:extensions] || []
  @extensions.each { |ext| @@extension_lookup[ext] ||= self }
  @mimes = options[:mime_types] || []
  @mimes.each { |mimetype| @@mime_lookup[mimetype] ||= self }
  this = self
  Asset.send :define_method, "#{name}?".intern do this.mime_types.include?(asset_content_type) end
  Asset.send :define_class_method, "#{name}_condition".intern do this.condition; end
  Asset.send :define_class_method, "not_#{name}_condition".intern do this.non_condition; end
  Asset.send :scope, plural.to_sym, -> {where(:conditions => condition)}
  Asset.send :scope, "not_#{plural}".to_sym, -> {where(:conditions => non_condition)}
  self.define_radius_tags
  @@types.push self
  @@type_lookup[@name] = self
end