Module: Transactional

Defined in:
lib/transactional.rb,
lib/transactional/railtie.rb,
lib/transactional/version.rb

Defined Under Namespace

Classes: Railtie

Constant Summary collapse

VERSION =
"0.1.0"

Instance Method Summary collapse

Instance Method Details

#transactional(*actions) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/transactional.rb', line 5

def transactional(*actions)
  _module = Module.new do
    actions.each do |action|
      define_method action do
        ActiveRecord::Base.transaction { super() }
      end
    end
  end

  const_set :Transactional, _module

  prepend _module
end