class Cuprum::Rails::Repository
A repository represents a group of Rails
collections.
Public Instance Methods
build(record_class:, **options)
click to toggle source
Adds a new collection with the given name to the repository.
@param record_class [Class] The ActiveRecord class for the collection. @param options [Hash] Additional options to pass to Collection.new
@return [Cuprum::Rails::Collection] the created collection.
@see Cuprum::Rails::Collection#initialize.
# File lib/cuprum/rails/repository.rb, line 19 def build(record_class:, **options) validate_record_class!(record_class) collection = Cuprum::Rails::Collection.new( record_class: record_class, **options ) add(collection) collection end
Private Instance Methods
valid_collection?(collection)
click to toggle source
# File lib/cuprum/rails/repository.rb, line 34 def valid_collection?(collection) collection.is_a?(Cuprum::Rails::Collection) end
validate_record_class!(record_class)
click to toggle source
# File lib/cuprum/rails/repository.rb, line 38 def validate_record_class!(record_class) return if record_class.is_a?(Class) && record_class < ActiveRecord::Base raise ArgumentError, 'record class must be an ActiveRecord model' end