1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
# frozen_string_literal: true
module Octokit
# Class to parse and create Gist URLs
class Gist
# !@attribute id
# @return [String] Gist ID
attr_accessor :id
# Instantiate {Gist} object from Gist URL
# @ return [Gist]
def self.from_url(url)
Gist.new(URI.parse(url).path[1..])
end
def initialize(gist)
case gist
when Integer, String
@id = gist.to_s
end
end
# Gist ID
# @return [String]
def to_s
@id
end
# Gist URL
# @return [String]
def url
"https://gist.github.com/#{@id}"
end
end
end
|