bjt 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: