bjt 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 634c4e5a5dcac63720d95b8b818fcd63e2a1b2fedc11973da375b76de5dea51d
4
- data.tar.gz: 0ef8e731b0b4e9e4be73e7306c0763cb58ed5cd1f4673857fdb6fa2b7ee2797e
3
+ metadata.gz: 0acbd168979e88dfec3ae99a8b5fc9f94d748a2b7c5babdd5a1baddf07df27df
4
+ data.tar.gz: 17001dda154bdaf413a367283ee4472bff7a1bb4e178b572f9c558052e5a5255
5
5
  SHA512:
6
- metadata.gz: 5fb62838fcb6674c172b112faf0c9fa8411e6c0b94bde81fef6a032bc7c2c435f325a8844bb205512c6661992002aa3fc97af7dd61aaec7eb82b29e9592c44c8
7
- data.tar.gz: f81fca0c75effd36317b8fad0cc108588f450157654df9816264cdb44cb10925860d75a6c15aea50adfe76b82ec7c661f34767e71580fa771dbd452cdf902956
6
+ metadata.gz: bb70b84a460e689ab048f29100c42847683204d4ca7dca1a4c54d6dcdd21fda09168540414cdce0eaecdc23e3e3ecfd988b0a75a3059e9c1b47f343cabd9132f
7
+ data.tar.gz: 2a976ac223036a668dce7e43f5ae13f6704d6402a58ca61556ab95e2f77ee210f97024d8386d182f195e3a088bf7802940e30ca6ef04cc72b577a52fde6b28bf
data/README.md CHANGED
@@ -16,26 +16,23 @@ And then execute:
16
16
 
17
17
  $ bundle install
18
18
 
19
- Or install it yourself as:
20
-
21
- $ gem install bjt
22
-
23
19
  ## Usage
24
20
 
25
21
  ```shell
26
- bundle exec bjt
27
-
28
- bjt commands:
29
- bjt g # Jump To Github or Gitlab
30
- bjt h # Jump To Homepage
31
- bjt help [COMMAND] # Describe available commands or one specific command
32
- bjt l # Jump To Local Dir
33
- bjt p # Jump To Gems Repos
34
- bjt r # Jump To Releases
35
- bjt s # Jump To Source
22
+ $ bundle exec bjt [destination] [package]
23
+
36
24
  ```
37
25
 
38
- ## Examples
26
+ ### Destinations:
27
+
28
+ - `g` -> Jump To Github
29
+ - `p` -> Jump To Gems Repos
30
+ - `h` -> Jump To Homepage
31
+ - `s` -> Jump To Source
32
+ - `r` -> Jump To Releases
33
+ - `l` -> Jump To Local Dir
34
+
35
+ ### Examples
39
36
 
40
37
  `bjt h bundler` (homepage)
41
38
  → <https://bundler.io/>
@@ -53,7 +50,7 @@ bjt commands:
53
50
  → <https://github.com/rubygems/bundler/releases>
54
51
 
55
52
  `bjt l bundler` (Gem Installed Dir)
56
- → Open Folder: /Users/x/.rbenv/versions/2.x.x/lib/ruby/gems/2.x.x/gems/bundler-x.x.x
53
+ → Open Folder: /Users/xxx/.rbenv/versions/2.x.x/lib/ruby/gems/2.x.x/gems/bundler-x.x.x
57
54
 
58
55
  ## Contributing
59
56
 
@@ -10,8 +10,8 @@ module Bjt
10
10
 
11
11
  def open
12
12
  Launchy.open(url) do |exception|
13
- puts "Attempted to open #{url} and failed because #{exception}"
13
+ puts "Attempted to open '#{url}' and failed because #{exception}"
14
14
  end
15
15
  end
16
16
  end
17
- end
17
+ end
@@ -19,9 +19,9 @@ module Bjt
19
19
  i[:homepage] = bundle_info.homepage
20
20
  i[:gem_path] = bundle_info.full_gem_path
21
21
  i[:source_code_uri] = bundle_info.metadata['source_code_uri'] || bundle_info.homepage
22
- i[:release_uri] = release_url(bundle_info.metadata['source_code_uri'], bundle_info.homepage)
22
+ i[:release_uri] = release_uri_with(bundle_info.metadata['source_code_uri'], bundle_info.homepage)
23
23
  i[:source] = source_with(bundle_info.source).empty? ? 'https://rubygems.org' : source_with(bundle_info.source)
24
- i[:package_url] = package_with(i[:source])
24
+ i[:package_uri] = package_uri_with(i[:source], i[:version])
25
25
  end
26
26
  end
27
27
  end
@@ -38,23 +38,25 @@ module Bjt
38
38
  end
39
39
  end
40
40
 
41
- def package_with(source)
41
+ def package_uri_with(source, version)
42
42
  return source if source.end_with?('.git')
43
43
 
44
- source.end_with?('/') ? format('%sgems/%s', source, package) : format('%s/gems/%s', source, package)
44
+ package_uri = source.end_with?('/') ? format('%sgems/%s', source, package) : format('%s/gems/%s', source, package)
45
+ package_uri.concat("/versions/#{version}") if version
46
+ package_uri
45
47
  end
46
48
 
47
- def release_url(source, homepage)
48
- if source?(homepage)
49
+ def release_uri_with(source, homepage)
50
+ if github_or_gitlab?(homepage)
49
51
  format('%s/releases', homepage)
50
- elsif source?(source)
52
+ elsif github_or_gitlab?(source)
51
53
  format('%s/releases', source)
52
54
  else
53
55
  homepage
54
56
  end
55
57
  end
56
58
 
57
- def source?(url)
59
+ def github_or_gitlab?(url)
58
60
  url =~ /github.com/ || url =~ /gitlab.com/
59
61
  end
60
62
  end
@@ -13,21 +13,31 @@ module Bjt
13
13
  case event
14
14
  when :g, :s then Browser.new(info[:source_code_uri]).open
15
15
  when :h then Browser.new(info[:homepage]).open
16
- when :p then Browser.new(info[:package_url]).open
16
+ when :p then Browser.new(info[:package_uri]).open
17
17
  when :r then Browser.new(info[:release_uri]).open
18
- when :l then system("open #{info[:gem_path]} ")
18
+ when :l then system(command(info[:gem_path]))
19
19
  else raise UnknownEventError, package
20
20
  end
21
21
  rescue Bjt::Fetcher::NotFoundPackageError => e
22
22
  puts "[ERROR] not found this package: #{package}, please make sure this package installed"
23
23
  rescue Bjt::Jumper::UnknownEventError => e
24
- puts "[ERROR] unknown event: #{event}, support g s h l r c events"
24
+ puts "[ERROR] unknown event: #{event}, support g s h p r l events"
25
25
  rescue StandardError => e
26
26
  puts "[ERROR] has error: #{e.message}"
27
27
  end
28
28
 
29
29
  private
30
30
 
31
+ def command(gem_path)
32
+ <<-COMMAND
33
+ if [ $EDITOR ];then
34
+ $EDITOR #{gem_path}
35
+ else
36
+ open #{gem_path}
37
+ fi
38
+ COMMAND
39
+ end
40
+
31
41
  def info
32
42
  @info ||= Bjt::Fetcher.new(package).info
33
43
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bjt
4
- VERSION = '0.1.0'
4
+ VERSION = '0.2.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bjt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - YingRui Lu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-12 00:00:00.000000000 Z
11
+ date: 2020-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -67,33 +67,33 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.89'
69
69
  - !ruby/object:Gem::Dependency
70
- name: thor
70
+ name: launchy
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.19'
75
+ version: '2.4'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.19'
82
+ version: '2.4'
83
83
  - !ruby/object:Gem::Dependency
84
- name: launchy
84
+ name: thor
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '2.4'
89
+ version: '0.19'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '2.4'
96
+ version: '0.19'
97
97
  description:
98
98
  email:
99
99
  - luyingrui518@gmail.com
@@ -115,7 +115,6 @@ homepage: https://github.com/superiorlu/bjt
115
115
  licenses:
116
116
  - MIT
117
117
  metadata:
118
- allowed_push_host: https://rubygems.org
119
118
  homepage_uri: https://github.com/superiorlu/bjt
120
119
  source_code_uri: https://github.com/superiorlu/bjt.git
121
120
  post_install_message: