Class: Subledger::Domain::Identity
- Inherits:
-
Object
- Object
- Subledger::Domain::Identity
show all
- Includes:
- Subledger::Domain, Roles::Activatable, Roles::Archivable, Roles::Attributable, Roles::Creatable, Roles::Describable, Roles::Identifiable, Roles::Readable, Roles::Restable, Roles::Storable, Roles::Updatable, Roles::Versionable
- Defined in:
- lib/subledger/domain/identity.rb
Defined Under Namespace
Classes: Entity
Instance Attribute Summary collapse
#version
#client, #store
#id
#description, #reference
Class Method Summary
collapse
Instance Method Summary
collapse
#patch_hash, #post_hash, #serializable_hash, #to_json
#archive
#activate
included, #update
included, #read
included
included
#attributes
#==, #collection_name, #entity_name, included, #to_s
Constructor Details
#initialize(args) ⇒ Identity
Returns a new instance of Identity.
69
70
71
72
73
74
75
76
|
# File 'lib/subledger/domain/identity.rb', line 69
def initialize args
describable args
identifiable args
storable args
versionable args
@email = args[:email]
end
|
Instance Attribute Details
#email ⇒ Object
Returns the value of attribute email.
27
28
29
|
# File 'lib/subledger/domain/identity.rb', line 27
def email
@email
end
|
Class Method Details
.active_klass ⇒ Object
49
50
51
|
# File 'lib/subledger/domain/identity.rb', line 49
def self.active_klass
ActiveIdentity
end
|
.archived_klass ⇒ Object
45
46
47
|
# File 'lib/subledger/domain/identity.rb', line 45
def self.archived_klass
ArchivedIdentity
end
|
.create(args) ⇒ Object
53
54
55
56
57
58
59
|
# File 'lib/subledger/domain/identity.rb', line 53
def self.create args
validate_creatability args
identity = args[:client].send active_klass.collection_name, args
args[:store].create_identity identity
end
|
.patch_keys ⇒ Object
33
34
35
|
# File 'lib/subledger/domain/identity.rb', line 33
def self.patch_keys
[ :id, :email, :description, :reference, :version ]
end
|
.post_keys ⇒ Object
29
30
31
|
# File 'lib/subledger/domain/identity.rb', line 29
def self.post_keys
[ :id, :email, :description, :reference ]
end
|
.root_klass ⇒ Object
37
38
39
|
# File 'lib/subledger/domain/identity.rb', line 37
def self.root_klass
Identity
end
|
.sub_klasses ⇒ Object
41
42
43
|
# File 'lib/subledger/domain/identity.rb', line 41
def self.sub_klasses
[ archived_klass, active_klass ]
end
|
Instance Method Details
#authorize(verb, url) ⇒ Object
86
87
88
89
90
91
92
93
94
|
# File 'lib/subledger/domain/identity.rb', line 86
def authorize verb, url
raise KeyError if @retired
controls.each do |control|
return true if control.match(verb, url) unless control.revoked?
end
false
end
|
#create ⇒ Object
61
62
63
64
65
66
67
|
# File 'lib/subledger/domain/identity.rb', line 61
def create
identity, key = self.class.create self.attributes
initialize identity.attributes
return self, key
end
|