module Monarchy

Constants

VERSION

Public Class Methods

hierarchy_class() click to toggle source
# File lib/monarchy.rb, line 53
def self.hierarchy_class
  Monarchy.configuration.hierarchy_class_name.safe_constantize || class_not_defined('Hierarchy')
end
member_class() click to toggle source
# File lib/monarchy.rb, line 41
def self.member_class
  Monarchy.configuration.member_class_name.safe_constantize || class_not_defined('Member')
end
rebuild!() click to toggle source
# File lib/monarchy/tasks.rb, line 7
def rebuild!
  p 'Rebuilding Monarchy...'
  hierarhization
  reparentize
  p 'Rebuilding Monarchy ended!'
end
resource_classes() click to toggle source
# File lib/monarchy.rb, line 21
def self.resource_classes
  @resource_classes ||= []
end
role_class() click to toggle source
# File lib/monarchy.rb, line 45
def self.role_class
  Monarchy.configuration.role_class_name.safe_constantize || class_not_defined('Role')
end
user_class() click to toggle source
# File lib/monarchy.rb, line 49
def self.user_class
  Monarchy.configuration.user_class_name.safe_constantize || class_not_defined('User')
end

Private Class Methods

hierarhization() click to toggle source
# File lib/monarchy/tasks.rb, line 16
def hierarhization
  p 'Monarchy hierarchization...'
  Monarchy.resource_classes.with_progress.each do |klass|
    klass.all.each do |model|
      model.send(:ensure_hierarchy, true)
    end
  end
  p 'Monarchy hierarchization ended!'
end
reparentize() click to toggle source
# File lib/monarchy/tasks.rb, line 26
def reparentize
  p 'Monarchy reparentize...'

  Monarchy.resource_classes.with_progress.each do |klass|
    klass.all.each do |model|
      model.send(:assign_parent, true)
    end
  end

  Monarchy.hierarchy_class.rebuild!
  p 'Monarchy reparentize ended!'
end

Private Instance Methods

class_not_defined(class_name) click to toggle source
# File lib/monarchy.rb, line 59
def class_not_defined(class_name)
  raise Monarchy::Exceptions::ClassNotDefined, class_name
end