Class: ContentFolder

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Document
Defined in:
app/models/content_folder.rb

Defined Under Namespace

Classes: FolderIds

Class Method Summary collapse

Class Method Details

.find_child_folder(parent_folder, folders) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
# File 'app/models/content_folder.rb', line 41

def self.find_child_folder(parent_folder, folders)
  child_folders = Array(parent_folder.child_folders)
  f = child_folders.find { |folder| folders[0] == folder.folder_id }
  unless f.nil?
    folders.shift
    if folders.count > 0
      return find_child_folder(f, folders)
    else
      return f
    end
  end
end

.find_folder(id) ⇒ Object



29
30
31
32
33
# File 'app/models/content_folder.rb', line 29

def self.find_folder(id)
  root = ContentFolder.last
  child_folders = root.nil? ? [] : Array(root.child_folders)
  child_folders.find { |folder| id == folder.folder_id } unless child_folders.nil?
end

.find_folder_by_relative_path(path) ⇒ Object



35
36
37
38
39
# File 'app/models/content_folder.rb', line 35

def self.find_folder_by_relative_path(path)
  folders = path.split('/')
  root = ContentFolder.last
  root.nil? ? nil : find_child_folder(root, folders)
end

.lit_center_folderObject

validates_uniqueness_of :folder_id



17
18
19
# File 'app/models/content_folder.rb', line 17

def self.lit_center_folder
  find_folder(FolderIds::LIT_CENTER)
end

.merrill_lynch_folderObject



21
22
23
# File 'app/models/content_folder.rb', line 21

def self.merrill_lynch_folder
  find_folder(FolderIds::MERRILL_LYNCH)
end

.plan_529_folderObject



25
26
27
# File 'app/models/content_folder.rb', line 25

def self.plan_529_folder
  find_folder(FolderIds::PLANS_529)
end