Sha256: 3fcd74f2848e69b88989450c74718ac660044460d6e54ef4018b03455f7389ee

Contents?: true

Size: 738 Bytes

Versions: 2

Compression:

Stored size: 738 Bytes

Contents

module ArSync
  module GraphSync; end
  module TreeSync; end
  def self.use(mode, klass: ActiveRecord::Base)
    case mode
    when :tree
      if klass.ancestors.include? ArSync::GraphSync
        raise ArgumentError, 'already activated ArSync::GraphSync'
      end
      klass.include ArSync::TreeSync
    when :graph
      if klass.ancestors.include? ArSync::TreeSync
        raise ArgumentError, 'already activated ArSync::TreeSync'
      end
      klass.include ArSync::GraphSync
    else
      raise ArgumentError, 'argument should be :tree or :graph'
    end
  end
end
require 'ar_sync/version'
require 'ar_sync/core'
require 'ar_sync/config'
require 'ar_sync/type_script'
require 'ar_sync/rails' if Kernel.const_defined?('Rails')

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ar_sync-1.0.1 lib/ar_sync.rb
ar_sync-1.0.0 lib/ar_sync.rb