Class: Core::Models::Files::Document

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Document, Mongoid::Timestamps
Defined in:
lib/core/models/files/document.rb

Overview

a document is an uploaded file in the S3 clone application.

Author:

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#creatorCore::Models::Account



30
# File 'lib/core/models/files/document.rb', line 30

belongs_to :creator, class_name: 'Core::Models::Account', inverse_of: :files

#folderString



22
# File 'lib/core/models/files/document.rb', line 22

field :folder, type: String, default: '/'

#mime_typeString



26
# File 'lib/core/models/files/document.rb', line 26

field :mime_type, type: String

#nameString



14
# File 'lib/core/models/files/document.rb', line 14

field :name, type: String

#permissionsArray<Core::Models::Files::Permission>



34
# File 'lib/core/models/files/document.rb', line 34

has_many :permissions, class_name: 'Core::Models::Files::Permission', inverse_of: :file

#sizeString



19
# File 'lib/core/models/files/document.rb', line 19

field :size, type: Integer, default: 0

Instance Method Details

#filename_unicityObject



42
43
44
45
46
47
48
49
50
# File 'lib/core/models/files/document.rb', line 42

def filename_unicity
  existing = Core::Models::Files::Document.where(
    name: name,
    folder: folder,
    extension: extension,
    :id.ne => id
  )
  errors.add(:name, 'uniq') unless existing.first.nil?
end