Sha256: 6438a8b295214e53f130c45885b92cce2c5c93c5600d5d625460c758262e3e5f
Contents?: true
Size: 690 Bytes
Versions: 1
Compression:
Stored size: 690 Bytes
Contents
require_relative 'persistence' module ArisControl ModificationError = Class.new(StandardError) class Bookkeeper attr_reader :persistence, :users def initialize(persistence = default_persistence) @persistence = persistence @users = persistence.load_users end def list users end def add(name:, email:, **opts) raise ArisControl::ModificationError if users.has_key?(name) users[name] = opts.merge(email: email) persistence.store_users(users) end def delete(name) users.delete(name) persistence.store_users(users) end def default_persistence ArisControl::Persistence.new end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aris-control-1.0.0 | lib/aris-control/bookkeeper.rb |