Bump to v3.4; make all transactions balanced using hidden accounts
See UPGRADING.md for details.
This commit is contained in:
parent
e3a04a0e36
commit
441bf05fde
14 changed files with 116 additions and 40 deletions
|
@ -7,6 +7,7 @@ no warnings qw(experimental::signatures);
|
|||
|
||||
use RevBank::Global;
|
||||
use RevBank::Plugins;
|
||||
use Carp ();
|
||||
|
||||
my $filename = "revbank.accounts";
|
||||
|
||||
|
@ -77,16 +78,30 @@ sub update($username, $delta, $transaction_id) {
|
|||
);
|
||||
}
|
||||
|
||||
sub parse_user($username) {
|
||||
my $users = _read();
|
||||
return undef if not exists $users->{ lc $username };
|
||||
return $users->{ lc $username }->[0];
|
||||
}
|
||||
|
||||
sub is_hidden($username) {
|
||||
return $username =~ /^[-+]/;
|
||||
}
|
||||
|
||||
sub parse_user($username) {
|
||||
return undef if is_hidden($username);
|
||||
|
||||
my $users = _read();
|
||||
return exists $users->{ lc $username }
|
||||
? $users->{ lc $username }->[0]
|
||||
: undef;
|
||||
}
|
||||
|
||||
sub assert_user($username) {
|
||||
my $users = _read();
|
||||
|
||||
return exists $users->{ lc $username }
|
||||
? $users->{ lc $username }->[0]
|
||||
: (is_hidden($username)
|
||||
? create($username)
|
||||
: Carp::croak("Account '$username' does not exist")
|
||||
);
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue