Class: ArisControl::Bookkeeper
- Inherits:
-
Object
- Object
- ArisControl::Bookkeeper
- Defined in:
- lib/aris-control/bookkeeper.rb
Instance Attribute Summary collapse
-
#persistence ⇒ Object
readonly
Returns the value of attribute persistence.
-
#users ⇒ Object
readonly
Returns the value of attribute users.
Instance Method Summary collapse
- #add(name:, email:, **opts) ⇒ Object
- #default_persistence ⇒ Object
- #delete(name) ⇒ Object
-
#initialize(persistence = default_persistence) ⇒ Bookkeeper
constructor
A new instance of Bookkeeper.
- #list ⇒ Object
Constructor Details
#initialize(persistence = default_persistence) ⇒ Bookkeeper
Returns a new instance of Bookkeeper.
7 8 9 10 |
# File 'lib/aris-control/bookkeeper.rb', line 7 def initialize(persistence = default_persistence) @persistence = persistence @users = persistence.load_users end |
Instance Attribute Details
#persistence ⇒ Object (readonly)
Returns the value of attribute persistence.
5 6 7 |
# File 'lib/aris-control/bookkeeper.rb', line 5 def persistence @persistence end |
#users ⇒ Object (readonly)
Returns the value of attribute users.
5 6 7 |
# File 'lib/aris-control/bookkeeper.rb', line 5 def users @users end |
Instance Method Details
#add(name:, email:, **opts) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/aris-control/bookkeeper.rb', line 16 def add(name:, email:, **opts) email or raise ArgumentError user = users[name] || {} users[name] = user.merge(opts).merge(email: email) persistence.store_users(users) end |
#default_persistence ⇒ Object
28 29 30 |
# File 'lib/aris-control/bookkeeper.rb', line 28 def default_persistence ArisControl::Persistence.new end |
#delete(name) ⇒ Object
23 24 25 26 |
# File 'lib/aris-control/bookkeeper.rb', line 23 def delete(name) users.delete(name) persistence.store_users(users) end |
#list ⇒ Object
12 13 14 |
# File 'lib/aris-control/bookkeeper.rb', line 12 def list users end |