lib/servel/path_builder.rb in servel-0.7.0 vs lib/servel/path_builder.rb in servel-0.8.0

- old
+ new

@@ -1,74 +1,74 @@ -class Servel::PathBuilder - IMAGE_EXTS = %w(.jpg .jpeg .png .gif) - VIDEO_EXTS = %w(.webm .mp4) - AUDIO_EXTS = %w(.mp3 .m4a .wav) - - def initialize(path) - @path = Pathname.new(path) - end - - def build - Servel::Path.new( - type: type, - media_type: media_type, - listing_classes: listing_classes, - icon: icon, - href: @path.basename, - name: @path.basename, - size: size, - mtime: @path.mtime - ) - end - - def type - if @path.directory? - "Dir" - elsif @path.file? - @path.extname.sub(/^\./, "") - else - "" - end - end - - def media_type - return nil unless @path.file? && @path.extname - - case @path.extname.downcase - when *IMAGE_EXTS - :image - when *VIDEO_EXTS - :video - when *AUDIO_EXTS - :audio - else - nil - end - end - - def listing_classes - klasses = [] - klasses << "file" if @path.file? - klasses << "directory" if @path.directory? - klasses << "media" if media_type - klasses << media_type if media_type - klasses.join(" ") - end - - def icon - return "📁" if @path.directory? - case media_type - when :video - "🎞️" - when :image - "🖼️" - when :audio - "🔊" - else - "📝" - end - end - - def size - @path.directory? ? nil : @path.size - end +class Servel::PathBuilder + IMAGE_EXTS = %w(.jpg .jpeg .png .gif) + VIDEO_EXTS = %w(.webm .mp4) + AUDIO_EXTS = %w(.mp3 .m4a .wav) + + def initialize(path) + @path = Pathname.new(path) + end + + def build + Servel::Path.new( + type: type, + media_type: media_type, + listing_classes: listing_classes, + icon: icon, + href: @path.basename, + name: @path.basename, + size: size, + mtime: @path.mtime + ) + end + + def type + if @path.directory? + "Dir" + elsif @path.file? + @path.extname.sub(/^\./, "") + else + "" + end + end + + def media_type + return nil unless @path.file? && @path.extname + + case @path.extname.downcase + when *IMAGE_EXTS + :image + when *VIDEO_EXTS + :video + when *AUDIO_EXTS + :audio + else + nil + end + end + + def listing_classes + klasses = [] + klasses << "file" if @path.file? + klasses << "directory" if @path.directory? + klasses << "media" if media_type + klasses << media_type if media_type + klasses.join(" ") + end + + def icon + return "📁" if @path.directory? + case media_type + when :video + "🎞️" + when :image + "🖼️" + when :audio + "🔊" + else + "📝" + end + end + + def size + @path.directory? ? nil : @path.size + end end \ No newline at end of file