class Subledger::Domain::Report

Attributes

book[R]

Public Class Methods

active_klass() click to toggle source
# File lib/subledger/domain/report.rb, line 44
def self.active_klass
  ActiveReport
end
archived_klass() click to toggle source
# File lib/subledger/domain/report.rb, line 48
def self.archived_klass
  ArchivedReport
end
new(args) click to toggle source
# File lib/subledger/domain/report.rb, line 52
def initialize args
  describable args
  identifiable args
  storable args
  versionable args

  @book = args[:book]
end
patch_keys() click to toggle source
# File lib/subledger/domain/report.rb, line 32
def self.patch_keys
  [ :id, :description, :reference, :version ]
end
post_keys() click to toggle source
# File lib/subledger/domain/report.rb, line 28
def self.post_keys
  [ :description, :reference ]
end
root_klass() click to toggle source
# File lib/subledger/domain/report.rb, line 36
def self.root_klass
  Report
end
sub_klasses() click to toggle source
# File lib/subledger/domain/report.rb, line 40
def self.sub_klasses
  [ active_klass, archived_klass ]
end

Private Class Methods

raise_unless_creatable(args) click to toggle source
# File lib/subledger/domain/report.rb, line 78
def self.raise_unless_creatable args

  book = args[:book]

  if book.nil? or not book.kind_of? Book
    raise BookError, ':book is required and must be a Book'
  elsif UUID.invalid? book.id
    raise BookError, ':book must have a valid :id'
  end
end

Private Instance Methods

structure() click to toggle source
# File lib/subledger/domain/report.rb, line 89
def structure
  store.report_structure_for self
end