Module: Subledger::Domain::Roles::Creatable::CreatableClass

Defined in:
lib/subledger/domain/roles/creatable.rb

Instance Method Summary collapse

Instance Method Details

#create(args) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/subledger/domain/roles/creatable.rb', line 10

def create args
  validate_creatability args

  creatable = args[:client].send active_klass.collection_name, args

  args[:store].create creatable
end

#new_or_create(args) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/subledger/domain/roles/creatable.rb', line 18

def new_or_create args
  id = args[:id]

  if id.nil?
    item = active_klass.create args

    yield item

    item
  else
    active_klass.new args
  end
end