Class: ROM::SQL::Relation
- Inherits:
-
Relation
- Object
- Relation
- ROM::SQL::Relation
- Extended by:
- Dry::Core::ClassAttributes
- Defined in:
- lib/rom/sql/relation.rb,
lib/rom/sql/relation/reading.rb,
lib/rom/sql/relation/writing.rb
Overview
Sequel-specific relation extensions
Defined Under Namespace
Constant Summary
Constants included from Reading
Constants included from ROM::SQL
CheckConstraintError, ConstraintError, DatabaseError, ERROR_MAP, ForeignKeyConstraintError, MigrationError, MissingConfigurationError, MissingPrimaryKeyError, NoAssociationError, NotNullConstraintError, UniqueConstraintError, UnknownDBTypeError, UnsupportedConversion, VERSION
Instance Method Summary collapse
-
#assoc(name) ⇒ Relation
Return relation that will load associated tuples of this relation.
-
#columns ⇒ Array<Symbol>
private
Return raw column names.
-
#transaction(**opts) {|t| ... } ⇒ Mixed
Open a database transaction.
Methods included from Reading
#as_hash, #avg, #count, #distinct, #each_batch, #exclude, #exist?, #exists, #fetch, #first, #group, #group_and_count, #group_append, #having, #invert, #join, #last, #left_join, #limit, #lock, #map, #max, #min, #offset, #order, #pluck, #prefix, #qualified, #qualified_columns, #query, #read, #rename, #reverse, #right_join, #select, #select_append, #select_group, #sum, #unfiltered, #union, #unique?, #unordered, #where, #wrap
Methods included from Writing
#delete, #import, #insert, #multi_insert, #update, #upsert
Methods included from ROM::SQL
Instance Method Details
#assoc(name) ⇒ Relation
Return relation that will load associated tuples of this relation
This method is useful for defining custom relation views for relation composition when you want to enhance default association query
67 68 69 |
# File 'lib/rom/sql/relation.rb', line 67 def assoc(name) associations[name].() end |
#columns ⇒ Array<Symbol>
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.
Return raw column names
119 120 121 |
# File 'lib/rom/sql/relation.rb', line 119 def columns @columns ||= dataset.columns end |
#transaction(**opts) {|t| ... } ⇒ Mixed
Open a database transaction
110 111 112 |
# File 'lib/rom/sql/relation.rb', line 110 def transaction(**opts, &block) Transaction.new(dataset.db).run(**opts, &block) end |