git_open_remote 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 563b22775dc924a5f66c10041977375d5102e125
4
+ data.tar.gz: 9cdb9d4549b9955a20268e57ad31d6e94c52ab72
5
+ SHA512:
6
+ metadata.gz: 9359b41cede1a7d6474f903d9243bc3edc6e85060766e9ab56c296dec326a157ab39559249a190cfb90e0c1352cec1fa98b39090a2df02b69c3d79c17e75e37d
7
+ data.tar.gz: 46f1ef43d3c264d4492535106c8d42056415ef50c96dc16d7d51712aaaa4d21d878909e67178ca7127a45813bc6ce33b57fa443a23eb5a997456ec08d8609e6d
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ .bundle/
2
+ pkg/
3
+ vendor/bundle/
4
+
5
+ Gemfile.lock
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
data/bin/console ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ require 'bundler/setup'
3
+ require 'pry'
4
+
5
+ lib = File.expand_path('../../lib', __FILE__)
6
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
7
+
8
+ require 'git_open_remote'
9
+
10
+ Pry.start
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require 'git_open_remote'
3
+
4
+ GitOpenRemote::CLI.new.run
@@ -0,0 +1,23 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ require 'git_open_remote/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'git_open_remote'
8
+ spec.version = GitOpenRemote::VERSION
9
+ spec.author = 'Alexander Tipugin'
10
+ spec.summary = 'Open your git remote in a browser'
11
+
12
+ spec.files = `git ls-files -z`.split("\x0")
13
+ spec.bindir = 'exe'
14
+ spec.executables = Dir["#{spec.bindir}/*"].map { |f| File.basename(f) }
15
+
16
+ spec.add_dependency 'commander', '~> 4.4'
17
+ spec.add_dependency 'git', '~> 1.3'
18
+ spec.add_dependency 'uri-ssh_git', '~> 2.0'
19
+ spec.add_dependency 'launchy', '~> 2.4'
20
+
21
+ spec.add_development_dependency 'rake'
22
+ spec.add_development_dependency 'pry'
23
+ end
@@ -0,0 +1,7 @@
1
+ require 'commander'
2
+ require 'git'
3
+ require 'uri/ssh_git'
4
+ require 'launchy'
5
+
6
+ require 'git_open_remote/version'
7
+ require 'git_open_remote/cli'
@@ -0,0 +1,36 @@
1
+ module GitOpenRemote
2
+ class CLI
3
+ include Commander::Methods
4
+
5
+ def run
6
+ program :name, 'git-open-remote'
7
+ program :version, GitOpenRemote::VERSION
8
+ program :description, 'Open your git remote in browser'
9
+
10
+ command :open do |cmd|
11
+ cmd.action do |args, _|
12
+ git = Git.open(Dir.pwd)
13
+ url = git.remote(args[0]).url
14
+ return say "Looks like #{name} doesn't exist ;(" unless url
15
+
16
+ Launchy.open(parse_url(url))
17
+ end
18
+ end
19
+
20
+ default_command :open
21
+ run!
22
+ end
23
+
24
+ private
25
+
26
+ def parse_url(url)
27
+ uri = begin
28
+ URI.parse(url)
29
+ rescue URI::InvalidURIError
30
+ URI::SshGit.parse(url)
31
+ end
32
+
33
+ "#{uri.host}/#{uri.path.sub(/\.git$/, '')}"
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,3 @@
1
+ module GitOpenRemote
2
+ VERSION = '0.0.1'.freeze
3
+ end
metadata ADDED
@@ -0,0 +1,136 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: git_open_remote
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Alexander Tipugin
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-06-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: commander
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.4'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: git
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: uri-ssh_git
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: launchy
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.4'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.4'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description:
98
+ email:
99
+ executables:
100
+ - git-open-remote
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - Gemfile
106
+ - Rakefile
107
+ - bin/console
108
+ - exe/git-open-remote
109
+ - git_open_remote.gemspec
110
+ - lib/git_open_remote.rb
111
+ - lib/git_open_remote/cli.rb
112
+ - lib/git_open_remote/version.rb
113
+ homepage:
114
+ licenses: []
115
+ metadata: {}
116
+ post_install_message:
117
+ rdoc_options: []
118
+ require_paths:
119
+ - lib
120
+ required_ruby_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ required_rubygems_version: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ requirements: []
131
+ rubyforge_project:
132
+ rubygems_version: 2.5.1
133
+ signing_key:
134
+ specification_version: 4
135
+ summary: Open your git remote in a browser
136
+ test_files: []