module Cyrax::Extensions::HasRepository::ClassMethods
Public Instance Methods
inherited(subclass)
click to toggle source
# File lib/cyrax/extensions/has_repository.rb, line 22 def inherited(subclass) subclass._repository_options = self._repository_options.try(:clone) end
repository(name = nil, &block)
click to toggle source
# File lib/cyrax/extensions/has_repository.rb, line 26 def repository(name = nil, &block) if name.is_a?(Symbol) klass, finder_name = nil, name elsif name.is_a?(String) ActiveSupport::Deprecation.warn "sending String in #decorator method is deprecated. send Class instead" klass, finder_name = name.constantize, nil elsif name.present? klass, finder_name = name, nil end if klass.present? self._repository_class = klass end if block_given? self._repository_options = self._repository_options.try(:clone) self._repository_options ||= {} self._repository_options[:finders] ||= {} self._repository_options[:finders][finder_name || :scope] = block end end