class ROM::Session
TODO: finish this in 1.1.0
@api private
Attributes
queue[R]
repo[R]
status[R]
Public Class Methods
new(repo)
click to toggle source
# File lib/rom/repository/session.rb, line 16 def initialize(repo) @repo = repo @status = :pending initialize_queue! end
Public Instance Methods
add(changeset)
click to toggle source
# File lib/rom/repository/session.rb, line 22 def add(changeset) queue << changeset self end
commit!()
click to toggle source
# File lib/rom/repository/session.rb, line 27 def commit! queue.each(&:commit) @status = :success self rescue StandardError => e @status = :failure raise e ensure initialize_queue! end
failure?()
click to toggle source
# File lib/rom/repository/session.rb, line 48 def failure? status.equal?(:failure) end
pending?()
click to toggle source
# File lib/rom/repository/session.rb, line 40 def pending? status.equal?(:pending) end
success?()
click to toggle source
# File lib/rom/repository/session.rb, line 44 def success? status.equal?(:success) end
Private Instance Methods
initialize_queue!()
click to toggle source
# File lib/rom/repository/session.rb, line 54 def initialize_queue! @queue = [] end