Class: Ledger::Journal

Inherits:
Object
  • Object
show all
Defined in:
lib/libledger/journal.rb

Overview

Declaration for list of entries

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ Journal

Returns a new instance of Journal.



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

def initialize(params = {})
  @entries = params[:entries] || []
end

Instance Attribute Details

#entriesObject (readonly)

Returns the value of attribute entries.



5
6
7
# File 'lib/libledger/journal.rb', line 5

def entries
  @entries
end

Class Method Details

.from_file(file) ⇒ Object



22
23
24
# File 'lib/libledger/journal.rb', line 22

def from_file(file)
  from_text(File.read(file))
end

.from_files(files) ⇒ Object



16
17
18
19
20
# File 'lib/libledger/journal.rb', line 16

def from_files(files)
  Journal.new(
    entries: files.map { |x| from_file(x).entries }.flatten
  )
end

.from_text(text) ⇒ Object



26
27
28
# File 'lib/libledger/journal.rb', line 26

def from_text(text)
  Journal.new(entries: text_to_entries(text))
end

Instance Method Details

#to_sObject



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

def to_s
  @entries.map(&:to_s).join("\n")
end