gem_paths 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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +40 -0
- data/lib/gem_paths/cli.rb +19 -2
- data/lib/gem_paths/list.rb +15 -5
- data/lib/gem_paths/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab575f0abbcb7374009cff4885ece82452980429f918a9295d6ae0f4788532ef
|
4
|
+
data.tar.gz: a8fa38a8bb06e89517f98f9f0614be555a7d0edcaa1a15bae60244cbdac1fe55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90679cc1226dbb20828748c06dd60d213550322a12b576f38f04d218f7caef772723f56cade9300be929af467edd6c254eeef9891f345d9d29b3b8478ebf5520
|
7
|
+
data.tar.gz: 195b1933fac5e118dcc56dca7324801148be81f0cb7ebb4c42d22aed737db161a956b594c6d6b6093db83b33995aa2d2cbe5be9d17741e476b6c0234d618d54e
|
data/Gemfile.lock
CHANGED
data/README.md
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# GemPaths
|
2
|
+
|
3
|
+
GemPaths can display the paths to the gems Bundler has/will install. It can display the paths in different formats (currently GNU Make, YAML and JSON format) and optionally display a warning if one or more of the gems have not yet been installed.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'gem_paths'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install gem_paths
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
To display a help text, do:
|
24
|
+
|
25
|
+
$ gempaths
|
26
|
+
|
27
|
+
To display the path for each installed gem, do:
|
28
|
+
|
29
|
+
$ gempaths list
|
30
|
+
|
31
|
+
## Development
|
32
|
+
|
33
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` and `cucumber features`
|
34
|
+
to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
35
|
+
|
36
|
+
To install your local copy of this gem onto your local machine, run `bundle exec rake install`.
|
37
|
+
|
38
|
+
## Contributing
|
39
|
+
|
40
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/ic-factory/gem_paths
|
data/lib/gem_paths/cli.rb
CHANGED
@@ -5,9 +5,26 @@ module GemPaths
|
|
5
5
|
class CLI < Thor
|
6
6
|
|
7
7
|
desc "list", "List path of each gem"
|
8
|
-
|
8
|
+
option :format, :type => :string, :banner => 'yaml|json|make', :default => "make", :desc => 'Specify the output format'
|
9
9
|
def list
|
10
|
-
|
10
|
+
defaults = {"format" => "make"}
|
11
|
+
opt = defaults.merge(options)
|
12
|
+
begin
|
13
|
+
case opt['format']
|
14
|
+
when 'yaml'
|
15
|
+
say GemPaths::List.to_yaml
|
16
|
+
when 'json'
|
17
|
+
puts GemPaths::List.to_json
|
18
|
+
when 'make'
|
19
|
+
puts GemPaths::List.to_make
|
20
|
+
else
|
21
|
+
shell.error set_color("Invalid value for --format option. Try 'gempaths help list' for more info.", Thor::Shell::Color::RED)
|
22
|
+
exit(2)
|
23
|
+
end
|
24
|
+
rescue
|
25
|
+
shell.error set_color("Unexpected error occurred. Please make sure you have a Gemfile.lock file in your project.", Thor::Shell::Color::RED)
|
26
|
+
exit(3)
|
27
|
+
end
|
11
28
|
end
|
12
29
|
|
13
30
|
end
|
data/lib/gem_paths/list.rb
CHANGED
@@ -4,18 +4,28 @@ module GemPaths
|
|
4
4
|
|
5
5
|
def self.gem_name_path_map
|
6
6
|
Bundler.load.specs.sort_by(&:name).map { |s|
|
7
|
-
[
|
8
|
-
s.name,
|
9
|
-
s.full_gem_path,
|
10
|
-
]
|
7
|
+
[s.name, s.full_gem_path]
|
11
8
|
}
|
12
9
|
end
|
13
10
|
private_class_method :gem_name_path_map
|
14
11
|
|
15
12
|
|
16
13
|
def self.to_make
|
17
|
-
gem_name_path_map.map { |pair| "
|
14
|
+
gem_name_path_map.map { |pair| "gem-path-#{pair[0]} := #{pair[1]}" }
|
18
15
|
end
|
16
|
+
|
17
|
+
def self.to_yaml
|
18
|
+
str = "---\n"
|
19
|
+
str << "gem:\n"
|
20
|
+
str << " path:\n"
|
21
|
+
str << gem_name_path_map.map { |pair| " #{pair[0]}: #{pair[1]}" }.join("\n")
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.to_json
|
25
|
+
require 'json'
|
26
|
+
JSON.pretty_generate(gem_name_path_map)
|
27
|
+
end
|
28
|
+
|
19
29
|
end
|
20
30
|
|
21
31
|
end
|
data/lib/gem_paths/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gem_paths
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Torben Jacobsen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -109,6 +109,7 @@ files:
|
|
109
109
|
- Gemfile
|
110
110
|
- Gemfile.lock
|
111
111
|
- LICENSE
|
112
|
+
- README.md
|
112
113
|
- Rakefile
|
113
114
|
- bin/console
|
114
115
|
- bin/setup
|