class ROM::Session
TODO: finish this in 1.1.0
@api private
Attributes
Public Class Methods
Source
# File lib/rom/repository/session.rb, line 16 def initialize(repo) @repo = repo @status = :pending initialize_queue! end
Public Instance Methods
Source
# File lib/rom/repository/session.rb, line 22 def add(changeset) queue << changeset self end
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
Source
# File lib/rom/repository/session.rb, line 48 def failure? status.equal?(:failure) end
Source
# File lib/rom/repository/session.rb, line 40 def pending? status.equal?(:pending) end
Source
# File lib/rom/repository/session.rb, line 44 def success? status.equal?(:success) end
Private Instance Methods
Source
# File lib/rom/repository/session.rb, line 54 def initialize_queue! @queue = [] end