lib/octokit/repository.rb in octokit-4.3.0 vs lib/octokit/repository.rb in octokit-4.4.0
- old
+ new
@@ -8,11 +8,14 @@
# Instantiate from a GitHub repository URL
#
# @return [Repository]
def self.from_url(url)
- Repository.new(URI.parse(url).path[1..-1])
+ new URI.parse(url).path[1..-1].
+ gsub(/^repos\//,'').
+ split('/', 3)[0..1].
+ join('/')
end
# @raise [Octokit::InvalidRepository] if the repository
# has an invalid format
def initialize(repo)
@@ -76,10 +79,10 @@
alias :repo :name
private
def validate_owner_and_name!
- if @owner.include?('/') || @name.include?('/') || !url.match(/\A#{URI.regexp}\z/)
+ if @owner.include?('/') || @name.include?('/') || !url.match(URI::ABS_URI)
raise_invalid_repository!
end
end
def raise_invalid_repository!