Module: MemModel

Defined in:
lib/mem_model.rb,
lib/mem_model/base.rb,
lib/mem_model/guid.rb,
lib/mem_model/errors.rb,
lib/mem_model/concern.rb,
lib/mem_model/version.rb,
lib/mem_model/model_name.rb,
lib/mem_model/rooted_base.rb,
lib/mem_model/validations.rb

Defined Under Namespace

Modules: Base, Concern, Guid, RootedBase, Validations Classes: Errors, InvalidRecord, ModelName, UnknownRecord

Constant Summary collapse

VERSION =
'0.7.0'
PERSISTENT_ROOT =
{}

Class Method Summary collapse

Class Method Details

.abortObject



15
16
17
# File 'lib/mem_model.rb', line 15

def abort
  maglev? ? Maglev.abort_transaction : true
end

.commitObject



11
12
13
# File 'lib/mem_model.rb', line 11

def commit
  maglev? ? Maglev.commit_transaction : true
end

.maglev?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/mem_model.rb', line 7

def maglev?
  !defined?(Maglev).nil?
end

.persistent(&block) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/mem_model.rb', line 19

def persistent(&block)
  if maglev?
    Maglev.persistent{ block.call }
    commit
  else
    block.call
  end
end