lib/amoeba/instance_methods.rb
# frozen_string_literal: true
module Amoeba
module InstanceMethods
def _parent_amoeba
if _first_superclass_with_amoeba.respond_to?(:amoeba)
_first_superclass_with_amoeba.amoeba
else
false
end
end
def _first_superclass_with_amoeba
return @_first_superclass_with_amoeba unless @_first_superclass_with_amoeba.nil?
klass = self.class
while klass.superclass < ::ActiveRecord::Base
klass = klass.superclass
break if klass.respond_to?(:amoeba) && klass.amoeba.enabled
end
@_first_superclass_with_amoeba = klass
end
def _amoeba_settings
self.class.amoeba_block
end
def _parent_amoeba_settings
if _first_superclass_with_amoeba.respond_to?(:amoeba_block)
_first_superclass_with_amoeba.amoeba_block
else
false
end
end
def amoeba_dup(options = {})
::Amoeba::Cloner.new(self, options).run
end
end
end