class Document < ApplicationRecord include ActsAsTree belongs_to :created_by, class_name: 'User', foreign_key: 'created_by_user_id' acts_as_tree def file? !folder? end def folder? mime.nil? end def filename types = MIME::Types[mime] if name.include? '.' types.each do |type| type.extensions.each do |extension| return name if name.end_with? ".#{extension}" end end end "#{name}.#{types.first.preferred_extension}" end end