class ROM::Repository::Root
A specialized repository type dedicated to work with a root relation
This repository type builds commands and aggregates for its root relation
@example
class UserRepo < ROM::Repository[:users] commands :create, update: :by_pk, delete: :by_pk end rom = ROM.container(:sql, 'sqlite::memory') do |conf| conf.default.create_table(:users) do primary_key :id column :name, String end end user_repo = UserRepo.new(rom) user = user_repo.create(name: "Jane") user_repo.update(user.id, name: "Jane Doe") user_repo.delete(user.id)
@api public
Public Class Methods
Source
# File lib/rom/repository/root.rb, line 54 def self.inherited(klass) super klass.root(root) end
Sets descendant root relation
@api private
Calls superclass method
Source
# File lib/rom/repository/root.rb, line 47 def self.new(*args, **kwargs) super(*args, **kwargs, root: root) end
@api public
Calls superclass method
ROM::Repository::new