module Mongoid::DistributeTree::Utils

Public Class Methods

distribute(item, distribute_urls, is_with_children) click to toggle source
# File lib/distribute_tree.rb, line 32
def self.distribute item, distribute_urls, is_with_children
  # embedded_in已经被父级同步
  return false if item.class.relations.detect {|k, v| v.macro == :embedded_in }

  # 分发到各URL
  distribute_urls = Mongoid::DistributeTree.default_distribute_urls_proc.call if distribute_urls.nil?
  distribute_urls = Array(distribute_urls).flatten.compact
  distribute_urls.map do |_distribute_url|
    Resque.enqueue item.class, item.uuid, _distribute_url, is_with_children
    DistributeTreeStatus.insert item.class, item.uuid, _distribute_url
  end
end