Sha256: 42080fc95dd385a6756a94c91fe6523ee687c2505168d8c2fbc18c07033566e3
Contents?: true
Size: 585 Bytes
Versions: 2
Compression:
Stored size: 585 Bytes
Contents
# frozen_string_literal: true module Github # Methods for dealing with GitHub paths. class Paths # "<owner>/<repo>/<ref>/<some_path>" PATH_PATTERN = %r{^(?:[^/]+/){3}.*[^/]$} private_constant :PATH_PATTERN # Parses a path like "<owner>/<repo>/<ref>/<some_path>" into owner, repo, ref, path. def self.parse_file_path(path) check_non_empty_string(path: path) raise "invalid path: #{path}" unless PATH_PATTERN.match?(path) owner, repo, ref, *path = path.split('/') path = path.join('/') [owner, repo, ref, path] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sqlui-0.1.71 | app/github/paths.rb |
sqlui-0.1.70 | app/github/paths.rb |