Sha256: 20e22b3de06cccd3b7969a1c5208686619c35e46d54997ac787248d9f0db3a4d

Contents?: true

Size: 815 Bytes

Versions: 7

Compression:

Stored size: 815 Bytes

Contents

# frozen_string_literal: true
require 'tqdm'

module Monarchy
  class << self
    def rebuild!
      p 'Rebuilding Monarchy...'
      hierarhization
      reparentize
      p 'Rebuilding Monarchy ended!'
    end

    private

    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

    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
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
monarchy-2.1.0 lib/monarchy/tasks.rb
monarchy-2.0.8 lib/monarchy/tasks.rb
monarchy-2.0.7 lib/monarchy/tasks.rb
monarchy-2.0.6 lib/monarchy/tasks.rb
monarchy-2.0.5 lib/monarchy/tasks.rb
monarchy-2.0.4 lib/monarchy/tasks.rb
monarchy-2.0.0.pre.beta.1 lib/monarchy/tasks.rb