summaryrefslogtreecommitdiffstats
path: root/lib/WWW/YNAB/ScheduledTransaction.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/WWW/YNAB/ScheduledTransaction.pm')
-rw-r--r--lib/WWW/YNAB/ScheduledTransaction.pm81
1 files changed, 81 insertions, 0 deletions
diff --git a/lib/WWW/YNAB/ScheduledTransaction.pm b/lib/WWW/YNAB/ScheduledTransaction.pm
index 98c67f1..9434298 100644
--- a/lib/WWW/YNAB/ScheduledTransaction.pm
+++ b/lib/WWW/YNAB/ScheduledTransaction.pm
@@ -1,24 +1,57 @@
package WWW::YNAB::ScheduledTransaction;
+
use Moose;
+# ABSTRACT: ScheduledSubTransaction model object
use Moose::Util::TypeConstraints qw(enum maybe_type);
+=head1 SYNOPSIS
+
+ use WWW::YNAB;
+
+ my $ynab = WWW::YNAB->new(...);
+ my @budgets = $ynab->budgets;
+ my $scheduled_transaction = $budgets[0]->scheduled_transaction('12345678-1234-1234-1234-1234567890ab');
+
+=head1 OVERVIEW
+
+See L<https://api.youneedabudget.com/v1#/Scheduled_Transactions> for more
+information.
+
+=cut
+
+=method id
+
+=cut
+
has id => (
is => 'ro',
isa => 'Str',
required => 1,
);
+=method date_first
+
+=cut
+
has date_first => (
is => 'ro',
isa => 'Str',
);
+=method date_next
+
+=cut
+
has date_next => (
is => 'ro',
isa => 'Str',
);
+=method frequency
+
+=cut
+
has frequency => (
is => 'ro',
isa => enum([qw(
@@ -28,61 +61,109 @@ has frequency => (
)]),
);
+=method amount
+
+=cut
+
has amount => (
is => 'ro',
isa => 'Int',
);
+=method memo
+
+=cut
+
has memo => (
is => 'ro',
isa => 'Maybe[Str]',
);
+=method flag_color
+
+=cut
+
has flag_color => (
is => 'ro',
isa => maybe_type(enum([qw(red orange yellow green blue purple)])),
);
+=method account_id
+
+=cut
+
has account_id => (
is => 'ro',
isa => 'Str',
);
+=method payee_id
+
+=cut
+
has payee_id => (
is => 'ro',
isa => 'Maybe[Str]',
);
+=method category_id
+
+=cut
+
has category_id => (
is => 'ro',
isa => 'Maybe[Str]',
);
+=method transfer_account_id
+
+=cut
+
has transfer_account_id => (
is => 'ro',
isa => 'Maybe[Str]',
);
+=method deleted
+
+=cut
+
has deleted => (
is => 'ro',
isa => 'Bool',
);
+=method account_name
+
+=cut
+
has account_name => (
is => 'ro',
isa => 'Str',
);
+=method payee_name
+
+=cut
+
has payee_name => (
is => 'ro',
isa => 'Maybe[Str]',
);
+=method category_name
+
+=cut
+
has category_name => (
is => 'ro',
isa => 'Maybe[Str]',
);
+=method subtransactions
+
+=cut
+
has subtransactions => (
traits => ['Array'],
is => 'bare',