module Chewy::Index::Witchcraft::ClassMethods

Public Instance Methods

cauldron(**options) click to toggle source
# File lib/chewy/index/witchcraft.rb, line 38
def cauldron(**options)
  (@cauldron ||= {})[options] ||= Cauldron.new(self, **options)
end
check_requirements!() click to toggle source
# File lib/chewy/index/witchcraft.rb, line 24
def check_requirements!
  messages = []
  messages << "MethodSource gem is required for the Witchcraft, please add `gem 'method_source'` to your Gemfile" unless Proc.method_defined?(:source)
  messages << "Parser gem is required for the Witchcraft, please add `gem 'parser'` to your Gemfile" unless '::Parser'.safe_constantize
  messages << "Unparser gem is required for the Witchcraft, please add `gem 'unparser'` to your Gemfile" unless '::Unparser'.safe_constantize
  messages = messages.join("\n")

  raise messages if messages.present?
end
witchcraft!() click to toggle source
# File lib/chewy/index/witchcraft.rb, line 19
def witchcraft!
  self._witchcraft = true
  check_requirements!
end
witchcraft?() click to toggle source
# File lib/chewy/index/witchcraft.rb, line 34
def witchcraft?
  !!_witchcraft
end