class Gluer::Registration
Attributes
args[R]
block[R]
context[R]
definition[R]
name[RW]
Public Class Methods
new(definition, context, args, block)
click to toggle source
# File lib/gluer/registration.rb, line 7 def initialize(definition, context, args, block) @definition = definition @context = context @args = args @block = block @committed = false @rolled_back = false end
Public Instance Methods
commit()
click to toggle source
# File lib/gluer/registration.rb, line 16 def commit raise RuntimeError, 'already committed' if committed? commit_hook.call(registry, context, *args, &block) mark_committed end
committed?()
click to toggle source
# File lib/gluer/registration.rb, line 29 def committed? @committed end
rollback()
click to toggle source
# File lib/gluer/registration.rb, line 22 def rollback raise RuntimeError, 'not committed' unless committed? raise RuntimeError, 'already rolled back' if rolled_back? rollback_hook.call(registry, context, *args, &block) mark_rolled_back end
rolled_back?()
click to toggle source
# File lib/gluer/registration.rb, line 33 def rolled_back? @rolled_back end
Private Instance Methods
commit_hook()
click to toggle source
# File lib/gluer/registration.rb, line 48 def commit_hook definition.commit_hook end
mark_committed()
click to toggle source
# File lib/gluer/registration.rb, line 40 def mark_committed @committed = true end
mark_rolled_back()
click to toggle source
# File lib/gluer/registration.rb, line 44 def mark_rolled_back @rolled_back = true end
registry()
click to toggle source
# File lib/gluer/registration.rb, line 56 def registry @registry ||= definition.registry_factory.call end
rollback_hook()
click to toggle source
# File lib/gluer/registration.rb, line 52 def rollback_hook definition.rollback_hook end