Module: Alf::Sequel::UnitOfWork::Atomic

Included in:
Delete, Insert, Update
Defined in:
lib/alf/sequel/unit_of_work/atomic.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#connectionObject (readonly)

Returns the value of attribute connection.



11
12
13
# File 'lib/alf/sequel/unit_of_work/atomic.rb', line 11

def connection
  @connection
end

#failureObject (readonly)

Returns the value of attribute failure.



11
12
13
# File 'lib/alf/sequel/unit_of_work/atomic.rb', line 11

def failure
  @failure
end

Instance Method Details

#failed?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/alf/sequel/unit_of_work/atomic.rb', line 17

def failed?
  not(@failure.nil?)
end

#initialize(connection) ⇒ Object



6
7
8
9
10
# File 'lib/alf/sequel/unit_of_work/atomic.rb', line 6

def initialize(connection)
  @connection = connection
  @ran        = false
  @failure    = nil
end

#ran?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/alf/sequel/unit_of_work/atomic.rb', line 13

def ran?
  @ran
end

#runObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/alf/sequel/unit_of_work/atomic.rb', line 21

def run
  raise IllegalStateError, "Unit of work already ran" if ran?
  _run
  self
rescue => ex
  @failure = ex
  raise
ensure
  @ran = true
end