Class: ROM::Repository::Root
- Inherits:
-
ROM::Repository
- Object
- ROM::Repository
- ROM::Repository::Root
- Defined in:
- lib/rom/repository/root.rb
Overview
A specialized repository type dedicated to work with a root relation
This repository type builds commands and aggregates for its root relation
Instance Attribute Summary collapse
- #root ⇒ Object readonly
Class Method Summary collapse
-
.inherited(klass) ⇒ Object
private
Sets descendant root relation.
-
.root ⇒ Object
Get or set repository root relation identifier.
Instance Method Summary collapse
-
#initialize ⇒ Root
constructor
A new instance of Root.
- #transaction(gateway: root.gateway, **opts, &block) ⇒ Object
Constructor Details
#initialize ⇒ Root
Returns a new instance of Root.
61 62 63 64 |
# File 'lib/rom/repository/root.rb', line 61 def initialize(*) super @root = set_relation(self.class.root) end |
Instance Attribute Details
Class Method Details
.inherited(klass) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Sets descendant root relation
55 56 57 58 |
# File 'lib/rom/repository/root.rb', line 55 def self.inherited(klass) super klass.root(root) end |
.root ⇒ Symbol .root(identifier) ⇒ Symbol
Get or set repository root relation identifier
This method is automatically used when you define a class using MyRepo[:rel_identifier] shortcut
46 |
# File 'lib/rom/repository/root.rb', line 46 defines :root |
Instance Method Details
#transaction(gateway: root.gateway, **opts, &block) ⇒ Object
70 71 72 |
# File 'lib/rom/repository/root.rb', line 70 def transaction(gateway: root.gateway, **opts, &block) super end |