Sha256: 58ef42db10eb5b45ab29400e4bcdc19d4e519089e46b5b896b38b7cea0eb1ad4
Contents?: true
Size: 1.18 KB
Versions: 6
Compression:
Stored size: 1.18 KB
Contents
# frozen_string_literal: true module Vedeu # Provides all registered repositories. # module Repositories extend self # Access all the repositories stored. # # @return [Array] def all storage.map(&:repository) end # Register a repository with the collection of Vedeu repositories. # # @param klass [Class] # @return [Set] def register(klass) storage.add(klass) if klass end # List all models stored in each registered repository. # # @return [Array] def registered all.map do |repository| registered = repository.send(:registered) Vedeu.log(type: :store, message: "Repository '#{repository.class.name}':" \ " #{registered.inspect}") registered end end # Remove all stored models from the repository. # # @return [Boolean] def reset! all.map { |repository| repository.send(:reset) } true end alias_method :reset, :reset! private # Access to the storage for this repository. # # @return [Array] def storage @storage ||= Set.new end end # Repositories end # Vedeu
Version data entries
6 entries across 6 versions & 1 rubygems