Parse and build git repository url via ssh protocol.
See: Popular use case packsaddle/ruby-git_clone_url
require'uri/ssh_git'url=URI::SshGit.parse('git@github.com:packsaddle/ruby-uri-ssh_git.git')# => #<URI::SshGit::Generic git@github.com:packsaddle/ruby-uri-ssh_git.git># http://docs.ruby-lang.org/ja/2.2.0/class/URI=3a=3aGeneric.html# :scheme ,:userinfo, :host, :port, :registry, :path, :opaque, :query, :fragmenturl.scheme#=> nilurl.userinfo#=> 'git'url.user#=> 'git'url.password#=> nilurl.host#=> 'github.com'url.port#=> nilurl.registry#=> nilurl.path#=> 'packsaddle/ruby-uri-ssh_git.git'url.opaque#=> nilurl.query#=> nilurl.fragment#=> nilURI::SshGit::Generic.build(userinfo: 'git',host: 'github.com',path: 'packsaddle/ruby-uri-ssh_git.git').to_s#=> 'git@github.com:packsaddle/ruby-uri-ssh_git.git'# URIurl=URI.parse('git@github.com:schacon/ticgit.git')URI::InvalidURIError: badURI(is not URI?): git@github.com:schacon/ticgit.git# Addressableurl=Addressable::URI.parse('git@github.com:schacon/ticgit.git')#=> #<Addressable::URI:0x3fedf48fb430 URI:git@github.com:schacon/ticgit.git>url.path#=> "schacon/ticgit.git"url.scheme#=> "git@github.com"url.host#=> nilurl.userinfo#=> nilurl.user#=> nilurl.port#=> nilAdd this line to your application's Gemfile:
gem'uri-ssh_git'And then execute:
$ bundle
Or install it yourself as:
$ gem install uri-ssh_git
After checking out the repo, run bin/setup to install dependencies. Then, run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
- Fork it ( https://github.com/packsaddle/ruby-uri-ssh_git/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request