Shlomi Fish avatar Shlomi Fish committed 60221f9

Extract dist_path_slot.

Comments (0)

Files changed (2)

XML-GrammarBase/lib/XML/GrammarBase/Role/RelaxNG.pm

     my $rngschema =
         XML::LibXML::RelaxNG->new(
             location =>
-            File::Spec->catfile(
-                $self->data_dir(),
-                $self->rng_schema_basename(),
-            ),
+            $self->dist_path_slot('rng_schema_basename'),
         );
 
     return $rngschema;
     return $self->rng_validate_dom($dom);
 }
 
+sub dist_path
+{
+    my ($self, $basename) = @_;
+
+    return File::Spec->catfile($self->data_dir, $basename);
+}
+
+sub dist_path_slot
+{
+    my ($self, $slot) = @_;
+
+    return $self->dist_path($self->$slot());
+}
+
 =head1 SYNOPSIS
 
     package XML::Grammar::MyGrammar::RelaxNG::Validate;
 
 Validates the XML in the $xml_string using the RELAX-NG schema.
 
+=head2 $self->dist_path($basename)
+
+Returns the $basename relative to data_dir().
+
+Utility method.
+
+=head2 $self->dist_path_slot($slot)
+
+Returns the basename of $self->$slot() relative to data_dir().
+
+Utility method.
+
 =head2 BUILD
 
 L<Any::Moose> constructor. For internal use.

XML-GrammarBase/lib/XML/GrammarBase/Role/XSLT.pm

     my $xslt = XML::LibXSLT->new();
 
     my $style_doc = $self->_xml_parser()->parse_file(
-        File::Spec->catfile(
-            $self->data_dir(),
-            $self->xslt_transform_basename(),
-        ),
+        $self->dist_path_slot('xslt_transform_basename'),
     );
 
     $self->_stylesheet($xslt->parse_stylesheet($style_doc));
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.