Sha256: 2d53837c32d940c442edd66733eb4e9467ee0dd9138b7606604e6009b302db37
Contents?: true
Size: 1.05 KB
Versions: 5
Compression:
Stored size: 1.05 KB
Contents
class MimeType attr_accessor :name, :extensions, :mime_types def initialize(name) @name = name @extensions = [] @mime_types = [] @processor = nil @builder = nil @auth_type = :page @layout_processor = :ember end def mime_types(*types) @mime_types += types end def extensions(*exts) @extensions += exts end def default_extension(ext=nil) @extensions.first end def default_mime_type @mime_types.first end def has_builder? !@builder.nil? end def builder(&block) @builder = block end def create_builder @builder ? @builder.call : nil end def has_processor? !@processor.nil? end def processor(&block) @processor = block end def process(data) @processor ? @processor.call(data) : data end def layout_processor(*processor) if processor.empty? @layout_processor else @layout_processor = processor.first end end def auth_type(*type) if type.empty? @auth_type else @auth_type = type.first end end end
Version data entries
5 entries across 5 versions & 1 rubygems