Class: Arel::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/arel/session.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.instanceObject



5
6
7
# File 'lib/arel/session.rb', line 5

def self.instance
  @instance || new
end

.startObject



9
10
11
12
13
14
# File 'lib/arel/session.rb', line 9

def self.start
  @instance ||= new
  yield @instance
ensure
  @instance = nil
end

Instance Method Details

#create(insert) ⇒ Object



16
17
18
# File 'lib/arel/session.rb', line 16

def create(insert)
  insert.call
end

#delete(delete) ⇒ Object



31
32
33
# File 'lib/arel/session.rb', line 31

def delete(delete)
  delete.call
end

#read(select) ⇒ Object



20
21
22
23
24
25
# File 'lib/arel/session.rb', line 20

def read(select)
  @read ||= {}
  key = select.object_id
  return @read[key] if @read.key? key
  @read[key] = select.call
end

#update(update) ⇒ Object



27
28
29
# File 'lib/arel/session.rb', line 27

def update(update)
  update.call
end