Class: Subledger::Domain::Book

Direct Known Subclasses

ActiveBook, ArchivedBook

Defined Under Namespace

Classes: Entity

Instance Attribute Summary collapse

Attributes included from Roles::Versionable

#version

Attributes included from Roles::Storable

#client, #store

Attributes included from Roles::Identifiable

#id

Attributes included from Roles::Describable

#description, #reference

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Roles::Restable

#patch_hash, #post_hash, #serializable_hash, #to_json

Methods included from Roles::Archivable

#archive

Methods included from Roles::Activatable

#activate

Methods included from Roles::Collectable

included

Methods included from Roles::Updatable

included, #update

Methods included from Roles::Readable

included, #read

Methods included from Roles::Creatable

#create, included

Methods included from Roles::Versionable

included

Methods included from Roles::Attributable

#attributes

Methods included from Subledger::Domain

#==, #collection_name, #entity_name, included, #to_s

Constructor Details

#initialize(args) ⇒ Book

Returns a new instance of Book.



54
55
56
57
58
59
60
61
# File 'lib/subledger/domain/book.rb', line 54

def initialize args
  describable args
  identifiable args
  storable args
  versionable args

  @org  = args[:org]
end

Instance Attribute Details

#orgObject (readonly)

Returns the value of attribute org.



26
27
28
# File 'lib/subledger/domain/book.rb', line 26

def org
  @org
end

Class Method Details

.active_klassObject



46
47
48
# File 'lib/subledger/domain/book.rb', line 46

def self.active_klass
  ActiveBook
end

.archived_klassObject



50
51
52
# File 'lib/subledger/domain/book.rb', line 50

def self.archived_klass
  ArchivedBook
end

.patch_keysObject



32
33
34
35
36
# File 'lib/subledger/domain/book.rb', line 32

def self.patch_keys
  # TODO should :id be in patch_keys?

  [ :id, :description, :reference, :version ]
end

.post_keysObject



28
29
30
# File 'lib/subledger/domain/book.rb', line 28

def self.post_keys
  [ :org, :description, :reference ]
end

.root_klassObject



38
39
40
# File 'lib/subledger/domain/book.rb', line 38

def self.root_klass
  Book
end

.sub_klassesObject



42
43
44
# File 'lib/subledger/domain/book.rb', line 42

def self.sub_klasses
  [ active_klass, archived_klass ]
end