aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/Open311/Endpoint/Schema/Comma.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/Open311/Endpoint/Schema/Comma.pm')
-rw-r--r--perllib/Open311/Endpoint/Schema/Comma.pm53
1 files changed, 0 insertions, 53 deletions
diff --git a/perllib/Open311/Endpoint/Schema/Comma.pm b/perllib/Open311/Endpoint/Schema/Comma.pm
deleted file mode 100644
index f6ac1bcc7..000000000
--- a/perllib/Open311/Endpoint/Schema/Comma.pm
+++ /dev/null
@@ -1,53 +0,0 @@
-use strict; use warnings;
-package Open311::Endpoint::Schema::Comma;
-use parent 'Data::Rx::CommonType::EasyNew';
-
-use Carp ();
-
-sub type_uri {
- 'tag:wiki.open311.org,GeoReport_v2:rx/comma',
-}
-
-sub guts_from_arg {
- my ($class, $arg, $rx) = @_;
- $arg ||= {};
-
- my $contents = delete $arg->{contents}
- or Carp::croak "No contents for comma-separated list";
- my $trim = delete $arg->{trim};
- if (my @unexpected = keys %$arg) {
- Carp::croak sprintf "Unknown arguments %s in constructing %s",
- (join ',' => @unexpected), $class->type_uri;
- }
-
- return {
- trim => $trim,
- str_schema => $rx->make_schema('//str'),
- subschema => $rx->make_schema( $contents ),
- };
-}
-
-sub assert_valid {
- my ($self, $value) = @_;
-
- $self->{str_schema}->assert_valid( $value );
-
- my @values = split ',' => $value;
-
- my $subschema = $self->{subschema};
- my $trim = $self->{trim};
-
- for my $subvalue (@values) {
-
- if ($self->{trim}) {
- $subvalue =~s/^\s*//;
- $subvalue =~s/\s*$//;
- }
-
- $subschema->assert_valid( $subvalue );
- }
-
- return 1;
-}
-
-1;