Class: ROM::Memory::Relation

Inherits:
Relation show all
Includes:
Enumerable, ROM::Memory
Defined in:
lib/rom/memory/relation.rb

Overview

Relation subclass for memory adapter

Examples:

class Users < ROM::Relation[:memory]
end

Instance Method Summary collapse

Instance Method Details

#delete(*args) ⇒ Relation

Delete tuples from the relation

Examples:

users.insert(name: 'Jane')
users.delete(name: 'Jane')

Returns:



85
86
87
88
# File 'lib/rom/memory/relation.rb', line 85

def delete(*args)
  dataset.delete(*args)
  self
end

#insert(*args) ⇒ Relation Also known as: <<

Insert tuples into the relation

Examples:

users.insert(name: 'Jane')

Returns:



70
71
72
73
# File 'lib/rom/memory/relation.rb', line 70

def insert(*args)
  dataset.insert(*args)
  self
end

#join(*args) ⇒ Relation

Returns:

See Also:



42
# File 'lib/rom/memory/relation.rb', line 42

forward :take, :join, :restrict, :order

#order(*fields) ⇒ Relation

Returns:

See Also:



42
# File 'lib/rom/memory/relation.rb', line 42

forward :take, :join, :restrict, :order

#project(*names) ⇒ Memory::Relation

Project a relation with provided attribute names

Parameters:

  • names (*Array)

    A list with attribute names

Returns:



51
52
53
# File 'lib/rom/memory/relation.rb', line 51

def project(*names)
  schema.project(*names).(self)
end

#rename(mapping) ⇒ Object

Rename attributes in a relation



58
59
60
# File 'lib/rom/memory/relation.rb', line 58

def rename(mapping)
  schema.rename(mapping).(self)
end

#restrict(criteria = nil) ⇒ Relation

Returns:

See Also:



42
# File 'lib/rom/memory/relation.rb', line 42

forward :take, :join, :restrict, :order

#take(amount) ⇒ Relation

Returns:

See Also:

  • Dataset#take


42
# File 'lib/rom/memory/relation.rb', line 42

forward :take, :join, :restrict, :order