Class: Ookkee::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/ookkee/builder.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeBuilder

Returns a new instance of Builder.



5
6
7
8
# File 'lib/ookkee/builder.rb', line 5

def initialize
  @registry = []
  @attributes = {}
end

Instance Attribute Details

#registryObject

Returns the value of attribute registry.



3
4
5
# File 'lib/ookkee/builder.rb', line 3

def registry
  @registry
end

Class Method Details

.build {|instance| ... } ⇒ Object

Yields:

  • (instance)


10
11
12
13
14
15
# File 'lib/ookkee/builder.rb', line 10

def self.build
  instance = self.new
  yield instance

  instance.build_activerecord_objects
end

Instance Method Details

#build_activerecord_objectsObject



39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/ookkee/builder.rb', line 39

def build_activerecord_objects
  sheet = Sheet.new(
    title: @attributes[:title],
    transaction_number: @attributes[:transaction_number],
    user: @attributes[:user]
  )
  registry.each do |element|
    entry_repo.build_from_factory(sheet, element)
  end

  sheet
end

#credit(account, &block) ⇒ Object



29
30
31
32
# File 'lib/ookkee/builder.rb', line 29

def credit(, &block)
  builder_proxy = BuilderProxy.new({builder: self})
  builder_proxy.credit(, &block)
end

#debit(account, &block) ⇒ Object



34
35
36
37
# File 'lib/ookkee/builder.rb', line 34

def debit(, &block)
  builder_proxy = BuilderProxy.new({builder: self})
  builder_proxy.debit(, &block)
end

#title(value) ⇒ Object



17
18
19
# File 'lib/ookkee/builder.rb', line 17

def title(value)
  @attributes[:title] = value
end

#transaction_number(value) ⇒ Object



21
22
23
# File 'lib/ookkee/builder.rb', line 21

def transaction_number(value)
  @attributes[:transaction_number] = value
end

#user(value) ⇒ Object



25
26
27
# File 'lib/ookkee/builder.rb', line 25

def user(value)
  @attributes[:user] = value
end