lib/octokit/repository.rb in octokit-1.25.0 vs lib/octokit/repository.rb in octokit-2.0.0.pre
- old
+ new
@@ -1,11 +1,17 @@
require 'addressable/uri'
module Octokit
+
+ # Class to parse GitHub repository owner and name from
+ # URLs and to generate URLs
class Repository
attr_accessor :username, :name
+ # Instantiate from a GitHub repository URL
+ #
+ # @return [Repository]
def self.from_url(url)
Repository.new(Addressable::URI.parse(url).path[1..-1])
end
def initialize(repo)
@@ -19,17 +25,18 @@
@name = repo[:repo] ||= repo[:name]
@username = repo[:username] ||= repo[:user] ||= repo[:owner]
end
end
+ # Repository owner/name
+ # @return [String]
def slug
"#{@username}/#{@name}"
end
+ alias :to_s :slug
- def to_s
- self.slug
- end
-
+ # Repository URL based on {Octokit::Client#web_endpoint}
+ # @return [String]
def url
"#{Octokit.web_endpoint}#{slug}"
end
alias :user :username