diff options
Diffstat (limited to 'extensions/LocalisationUpdate/fetcher/FetcherFactory.php')
-rw-r--r-- | extensions/LocalisationUpdate/fetcher/FetcherFactory.php | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/extensions/LocalisationUpdate/fetcher/FetcherFactory.php b/extensions/LocalisationUpdate/fetcher/FetcherFactory.php new file mode 100644 index 00000000..4e26dc15 --- /dev/null +++ b/extensions/LocalisationUpdate/fetcher/FetcherFactory.php @@ -0,0 +1,24 @@ +<?php +/** + * @file + * @author Niklas Laxström + * @license GPL-2.0+ + */ + +/** + * Constructs fetchers based on the repository urls. + */ +class LU_FetcherFactory { + public function getFetcher( $path ) { + + if ( strpos( $path, 'https://raw.github.com/' ) === 0 ) { + return new LU_GitHubFetcher(); + } elseif ( strpos( $path, 'http://' ) === 0 ) { + return new LU_HttpFetcher(); + } elseif ( strpos( $path, 'https://' ) === 0 ) { + return new LU_HttpFetcher(); + } else { + return new LU_FileSystemFetcher(); + } + } +} |