Sha256: 320194f70a4f47ab9136fbc3eea45f01447f30390c744c01d682fdfd419ec71b
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
require "mireru/widget/image" require "mireru/widget/video" require "mireru/widget/pdf" require "mireru/widget/svg" require "mireru/widget/text" require "mireru/widget/binary" require "mireru/widget/thumbnail" module Mireru module Widget module_function def create(file, width=10000, height=10000) if image?(file) widget = Mireru::Widget::Image.create(file, width, height) elsif video?(file) widget = Mireru::Widget::Video.create(file) elsif pdf?(file) widget = Mireru::Widget::PDF.create(file) elsif svg?(file) widget = Mireru::Widget::SVG.create(file) elsif text?(file) widget = Mireru::Widget::Text.create(file) elsif file.is_a?(Enumerable) widget = Mireru::Widget::Thumbnail.create(file, width, height) else widget = Mireru::Widget::Binary.create(file) end widget end def image?(file) /\.(png|jpe?g|gif|ico|ani|bmp|pnm|ras|tga|tiff|xbm|xpm)\z/i =~ file end def video?(file) /\.(ogm|mp4|flv|mpe?g2?|ts|mov|avi|divx|mkv|wmv|asf|wmx)\z/i =~ file end def pdf?(file) /\.pdf\z/i =~ file end def svg?(file) /\.svg\z/i =~ file end def text?(file) File.read(file).valid_encoding? end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mireru-0.2.1 | lib/mireru/widget.rb |