gitignore-cli 0.4.0 → 0.11.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 +4 -4
- data/.gitignore +83 -6
- data/Gemfile +1 -1
- data/Gemfile.lock +77 -0
- data/README.md +41 -17
- data/bin/gitignore +48 -17
- data/gitignore-cli.gemspec +17 -13
- data/lib/gitignore.rb +4 -2
- data/lib/gitignore/version.rb +3 -1
- metadata +49 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 053aa4b5355ff54d69041e0707df470772caf454592f9cf596da33c1a4af8a9f
|
4
|
+
data.tar.gz: 721b764015430237691d982e269a78b3595fe5ab79a6e9e0bdbe1c574e66aa73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c59548b4cde89e7df874923333634edee90e292e67a14f3cfff5d7380de12f2d43803abce777d3b8ff1d3c074fdf452e0d419898d1a1ca3c87da8248d68f183c
|
7
|
+
data.tar.gz: b52860ceaafa567deaa900fbb8afdf44709943a65a6b7d57a8aeacbd97fb8c21ae88c7da7245a7a23a947f1a7c5ba44891fbbd4fa437bb390c61aba5051c77ff
|
data/.gitignore
CHANGED
@@ -1,11 +1,88 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
|
2
|
+
# Created by https://www.gitignore.io/api/ruby,vim
|
3
|
+
# Edit at https://www.gitignore.io/?templates=ruby,vim
|
4
|
+
|
5
|
+
### Ruby ###
|
6
|
+
*.gem
|
7
|
+
*.rbc
|
8
|
+
/.config
|
4
9
|
/coverage/
|
5
|
-
/
|
10
|
+
/InstalledFiles
|
6
11
|
/pkg/
|
7
12
|
/spec/reports/
|
13
|
+
/spec/examples.txt
|
14
|
+
/test/tmp/
|
15
|
+
/test/version_tmp/
|
8
16
|
/tmp/
|
9
17
|
|
10
|
-
#
|
11
|
-
.
|
18
|
+
# Used by dotenv library to load environment variables.
|
19
|
+
# .env
|
20
|
+
|
21
|
+
# Ignore Byebug command history file.
|
22
|
+
.byebug_history
|
23
|
+
|
24
|
+
## Specific to RubyMotion:
|
25
|
+
.dat*
|
26
|
+
.repl_history
|
27
|
+
build/
|
28
|
+
*.bridgesupport
|
29
|
+
build-iPhoneOS/
|
30
|
+
build-iPhoneSimulator/
|
31
|
+
|
32
|
+
## Specific to RubyMotion (use of CocoaPods):
|
33
|
+
#
|
34
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
35
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
36
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
37
|
+
# vendor/Pods/
|
38
|
+
|
39
|
+
## Documentation cache and generated files:
|
40
|
+
/.yardoc/
|
41
|
+
/_yardoc/
|
42
|
+
/doc/
|
43
|
+
/rdoc/
|
44
|
+
|
45
|
+
## Environment normalization:
|
46
|
+
/.bundle/
|
47
|
+
/vendor/bundle
|
48
|
+
/lib/bundler/man/
|
49
|
+
|
50
|
+
# for a library or gem, you might want to ignore these files since the code is
|
51
|
+
# intended to run in multiple environments; otherwise, check them in:
|
52
|
+
# Gemfile.lock
|
53
|
+
# .ruby-version
|
54
|
+
# .ruby-gemset
|
55
|
+
|
56
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
57
|
+
.rvmrc
|
58
|
+
|
59
|
+
### Ruby Patch ###
|
60
|
+
# Used by RuboCop. Remote config files pulled in from inherit_from directive.
|
61
|
+
# .rubocop-https?--*
|
62
|
+
|
63
|
+
### Vim ###
|
64
|
+
# Swap
|
65
|
+
[._]*.s[a-v][a-z]
|
66
|
+
[._]*.sw[a-p]
|
67
|
+
[._]s[a-rt-v][a-z]
|
68
|
+
[._]ss[a-gi-z]
|
69
|
+
[._]sw[a-p]
|
70
|
+
|
71
|
+
# Session
|
72
|
+
Session.vim
|
73
|
+
Sessionx.vim
|
74
|
+
|
75
|
+
# Temporary
|
76
|
+
.netrwhist
|
77
|
+
*~
|
78
|
+
|
79
|
+
# Auto-generated tag files
|
80
|
+
tags
|
81
|
+
|
82
|
+
# Persistent undo
|
83
|
+
[._]*.un~
|
84
|
+
|
85
|
+
# Coc configuration directory
|
86
|
+
.vim
|
87
|
+
|
88
|
+
# End of https://www.gitignore.io/api/ruby,vim
|
data/Gemfile
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
gitignore-cli (0.11.0)
|
5
|
+
http (~> 4.3, >= 4.3.0)
|
6
|
+
thor (~> 1.0, >= 1.0.1)
|
7
|
+
tty-prompt (>= 0.20, < 0.23)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
addressable (2.7.0)
|
13
|
+
public_suffix (>= 2.0.2, < 5.0)
|
14
|
+
diff-lcs (1.3)
|
15
|
+
domain_name (0.5.20190701)
|
16
|
+
unf (>= 0.0.5, < 1.0.0)
|
17
|
+
equatable (0.6.1)
|
18
|
+
ffi (1.13.1)
|
19
|
+
ffi-compiler (1.0.1)
|
20
|
+
ffi (>= 1.0.0)
|
21
|
+
rake
|
22
|
+
http (4.4.1)
|
23
|
+
addressable (~> 2.3)
|
24
|
+
http-cookie (~> 1.0)
|
25
|
+
http-form_data (~> 2.2)
|
26
|
+
http-parser (~> 1.2.0)
|
27
|
+
http-cookie (1.0.3)
|
28
|
+
domain_name (~> 0.5)
|
29
|
+
http-form_data (2.3.0)
|
30
|
+
http-parser (1.2.1)
|
31
|
+
ffi-compiler (>= 1.0, < 2.0)
|
32
|
+
necromancer (0.5.1)
|
33
|
+
pastel (0.7.3)
|
34
|
+
equatable (~> 0.6)
|
35
|
+
tty-color (~> 0.5)
|
36
|
+
public_suffix (4.0.5)
|
37
|
+
rake (13.0.1)
|
38
|
+
rspec (3.9.0)
|
39
|
+
rspec-core (~> 3.9.0)
|
40
|
+
rspec-expectations (~> 3.9.0)
|
41
|
+
rspec-mocks (~> 3.9.0)
|
42
|
+
rspec-core (3.9.2)
|
43
|
+
rspec-support (~> 3.9.3)
|
44
|
+
rspec-expectations (3.9.2)
|
45
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
46
|
+
rspec-support (~> 3.9.0)
|
47
|
+
rspec-mocks (3.9.1)
|
48
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
49
|
+
rspec-support (~> 3.9.0)
|
50
|
+
rspec-support (3.9.3)
|
51
|
+
thor (1.0.1)
|
52
|
+
tty-color (0.5.1)
|
53
|
+
tty-cursor (0.7.1)
|
54
|
+
tty-prompt (0.20.0)
|
55
|
+
necromancer (~> 0.5.0)
|
56
|
+
pastel (~> 0.7.0)
|
57
|
+
tty-reader (~> 0.7.0)
|
58
|
+
tty-reader (0.7.0)
|
59
|
+
tty-cursor (~> 0.7)
|
60
|
+
tty-screen (~> 0.7)
|
61
|
+
wisper (~> 2.0.0)
|
62
|
+
tty-screen (0.7.1)
|
63
|
+
unf (0.1.4)
|
64
|
+
unf_ext
|
65
|
+
unf_ext (0.0.7.7)
|
66
|
+
wisper (2.0.1)
|
67
|
+
|
68
|
+
PLATFORMS
|
69
|
+
ruby
|
70
|
+
|
71
|
+
DEPENDENCIES
|
72
|
+
gitignore-cli!
|
73
|
+
rake (~> 13.0)
|
74
|
+
rspec (~> 3.0)
|
75
|
+
|
76
|
+
BUNDLED WITH
|
77
|
+
2.1.4
|
data/README.md
CHANGED
@@ -1,38 +1,62 @@
|
|
1
|
-
#
|
1
|
+
# gitignore-cli
|
2
2
|
|
3
|
-
|
3
|
+
[](https://badge.fury.io/rb/gitignore-cli)
|
4
|
+
[](https://codeclimate.com/github/dvinciguerra/gitignore-cli/maintainability)
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
6
|
+
|
7
|
+
Provides a simple CLI that uses the fantastic `gitignore.io` tool to generate `.gitignore` files for your project.
|
8
|
+
|
9
|
+
[](https://asciinema.org/a/299023?autoplay=1&speed=2)
|
4
10
|
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
6
11
|
|
7
12
|
## Installation
|
8
13
|
|
9
|
-
|
14
|
+
You will need to have `ruby >= 2.3`, or running on Docker.
|
10
15
|
|
11
|
-
```
|
12
|
-
gem
|
16
|
+
```shellscript
|
17
|
+
$ gem install gitignore-cli
|
13
18
|
```
|
14
19
|
|
15
|
-
|
20
|
+
## Usage
|
16
21
|
|
17
|
-
|
22
|
+
You can use the following commands:
|
18
23
|
|
19
|
-
|
24
|
+
#### gitignore list
|
20
25
|
|
21
|
-
|
26
|
+
The command `list` will return all available environments.
|
22
27
|
|
23
|
-
|
28
|
+
**Example:**
|
29
|
+
|
30
|
+
```shellscript
|
31
|
+
$ gitignore list
|
32
|
+
```
|
33
|
+
|
34
|
+
#### gitignore create
|
24
35
|
|
25
|
-
|
36
|
+
Generates the .gitignore output using an interactive term ui.
|
37
|
+
|
38
|
+
```shellscript
|
39
|
+
$ gitignore create
|
40
|
+
```
|
41
|
+
|
42
|
+
|
43
|
+
#### gitignore generate [environments]
|
44
|
+
|
45
|
+
Generates the .gitignore output to stdout using all environments that you choose.
|
46
|
+
|
47
|
+
```shellscript
|
48
|
+
$ gitignore generate ruby vim node > .gitignore
|
49
|
+
```
|
26
50
|
|
27
|
-
##
|
51
|
+
## Author
|
28
52
|
|
29
|
-
|
53
|
+
Daniel Vinciguerra <daniel.vinciguerra@bivee.com.br>
|
30
54
|
|
31
|
-
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`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
32
55
|
|
33
|
-
|
56
|
+
### Special Thanks
|
34
57
|
|
35
|
-
|
58
|
+
* [Joe Blau](https://github.com/joeblau) for [gitignore.io](https://gitignore.io).
|
59
|
+
* [Tejas Kumar](https://github.com/TejasQ) for the inspiration, [at TejasQ/add-gitignore](https://github.com/TejasQ/add-gitignore)
|
36
60
|
|
37
61
|
|
38
62
|
## License
|
data/bin/gitignore
CHANGED
@@ -1,25 +1,56 @@
|
|
1
1
|
#!ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
+
require 'thor'
|
5
|
+
require 'gitignore'
|
6
|
+
require 'tty-prompt'
|
4
7
|
|
5
|
-
|
8
|
+
module Gitignore
|
9
|
+
class CLI < Thor
|
10
|
+
desc 'list', 'list all environment options'
|
11
|
+
def list
|
12
|
+
formatted_envs = Gitignore.list.map { |env| " - #{env}\n" }.join('')
|
6
13
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
14
|
+
puts <<~OUTPUT
|
15
|
+
Available Environments:
|
16
|
+
#{formatted_envs}
|
17
|
+
|
18
|
+
Now you can generate your .gitignore file using choosed envs:
|
19
|
+
$ gitignore generate vim ruby node > .gitignore
|
20
|
+
OUTPUT
|
21
|
+
end
|
22
|
+
|
23
|
+
desc 'generate', 'generate a .gitignore and print to STDOUT'
|
24
|
+
def generate(*envs)
|
25
|
+
puts Gitignore.generate(envs)
|
26
|
+
end
|
27
|
+
|
28
|
+
desc 'create', 'generate a .gitignore file using a interactive term ui'
|
29
|
+
option :out, type: :string, default: '.gitignore', desc: 'OUTPUT_FILE'
|
30
|
+
def create
|
31
|
+
prompt = TTY::Prompt.new(interrupt: :exit)
|
12
32
|
|
13
|
-
|
14
|
-
|
15
|
-
|
33
|
+
prompt.on(:keyescape) do
|
34
|
+
exit
|
35
|
+
end
|
16
36
|
|
17
|
-
|
18
|
-
|
19
|
-
|
37
|
+
env_list = Gitignore.list
|
38
|
+
results = prompt.multi_select(
|
39
|
+
'Select envs to generate the .gitignore?', env_list, filter: true
|
40
|
+
)
|
20
41
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
42
|
+
unless results.any?
|
43
|
+
puts 'No environment selected... exiting!'
|
44
|
+
exit
|
45
|
+
end
|
46
|
+
|
47
|
+
file = File.open(options[:out], 'w')
|
48
|
+
file.write(Gitignore.generate(results))
|
49
|
+
file.close
|
50
|
+
|
51
|
+
puts 'The .gitignore is generated!'
|
52
|
+
end
|
53
|
+
end
|
25
54
|
end
|
55
|
+
|
56
|
+
Gitignore::CLI.start(ARGV)
|
data/gitignore-cli.gemspec
CHANGED
@@ -1,29 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'lib/gitignore/version'
|
2
4
|
|
3
5
|
Gem::Specification.new do |spec|
|
4
|
-
spec.name =
|
6
|
+
spec.name = 'gitignore-cli'
|
5
7
|
spec.version = Gitignore::VERSION
|
6
|
-
spec.authors = [
|
7
|
-
spec.email = [
|
8
|
+
spec.authors = ['Daniel Vinciguerra']
|
9
|
+
spec.email = ['daniel.vinciguerra@bivee.com.br']
|
8
10
|
|
9
|
-
spec.summary =
|
10
|
-
spec.description =
|
11
|
-
spec.homepage =
|
12
|
-
spec.license =
|
13
|
-
spec.required_ruby_version = Gem::Requirement.new(
|
11
|
+
spec.summary = 'Simple Ruby CLI to generate .gitignore files'
|
12
|
+
spec.description = 'A Ruby CLI tool that use fantastic gitignore.io to generate .gitignore files to your projects'
|
13
|
+
spec.homepage = 'https://github.com/dvinciguerra/gitignore-cli'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
|
14
16
|
|
15
|
-
spec.metadata[
|
16
|
-
spec.metadata[
|
17
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
18
|
+
spec.metadata['source_code_uri'] = 'https://github.com/dvinciguerra/gitignore-cli'
|
17
19
|
|
18
20
|
# Specify which files should be added to the gem when it is released.
|
19
21
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
20
|
-
spec.files
|
22
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
21
23
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
22
24
|
end
|
23
25
|
|
24
|
-
spec.bindir =
|
26
|
+
spec.bindir = 'bin'
|
25
27
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
26
|
-
spec.require_paths = [
|
28
|
+
spec.require_paths = ['lib']
|
27
29
|
|
28
30
|
spec.add_runtime_dependency 'http', '~> 4.3', '>= 4.3.0'
|
31
|
+
spec.add_runtime_dependency 'thor', '~> 1.0', '>= 1.0.1'
|
32
|
+
spec.add_runtime_dependency 'tty-prompt', '>= 0.20', '< 0.23'
|
29
33
|
end
|
data/lib/gitignore.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'gitignore/version'
|
2
4
|
|
3
5
|
require 'http'
|
4
6
|
|
@@ -6,7 +8,7 @@ module Gitignore
|
|
6
8
|
class Error < StandardError; end
|
7
9
|
|
8
10
|
class << self
|
9
|
-
GITIGNORE_HOST = ENV['GITIGNORE_HOST'] || 'https://www.gitignore
|
11
|
+
GITIGNORE_HOST = ENV['GITIGNORE_HOST'] || 'https://www.toptal.com/developers/gitignore'
|
10
12
|
|
11
13
|
def list
|
12
14
|
response = HTTP.get("#{GITIGNORE_HOST}/api/list")
|
data/lib/gitignore/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitignore-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Vinciguerra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -30,7 +30,48 @@ dependencies:
|
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 4.3.0
|
33
|
-
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: thor
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.0.1
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.0.1
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: tty-prompt
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0.20'
|
60
|
+
- - "<"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0.23'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0.20'
|
70
|
+
- - "<"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0.23'
|
73
|
+
description: A Ruby CLI tool that use fantastic gitignore.io to generate .gitignore
|
74
|
+
files to your projects
|
34
75
|
email:
|
35
76
|
- daniel.vinciguerra@bivee.com.br
|
36
77
|
executables:
|
@@ -42,6 +83,7 @@ files:
|
|
42
83
|
- ".rspec"
|
43
84
|
- ".travis.yml"
|
44
85
|
- Gemfile
|
86
|
+
- Gemfile.lock
|
45
87
|
- LICENSE.txt
|
46
88
|
- README.md
|
47
89
|
- Rakefile
|
@@ -49,12 +91,12 @@ files:
|
|
49
91
|
- gitignore-cli.gemspec
|
50
92
|
- lib/gitignore.rb
|
51
93
|
- lib/gitignore/version.rb
|
52
|
-
homepage: https://github.com/dvinciguerra/gitignore
|
94
|
+
homepage: https://github.com/dvinciguerra/gitignore-cli
|
53
95
|
licenses:
|
54
96
|
- MIT
|
55
97
|
metadata:
|
56
|
-
homepage_uri: https://github.com/dvinciguerra/gitignore
|
57
|
-
source_code_uri: https://github.com/dvinciguerra/gitignore
|
98
|
+
homepage_uri: https://github.com/dvinciguerra/gitignore-cli
|
99
|
+
source_code_uri: https://github.com/dvinciguerra/gitignore-cli
|
58
100
|
post_install_message:
|
59
101
|
rdoc_options: []
|
60
102
|
require_paths:
|
@@ -74,5 +116,5 @@ rubyforge_project:
|
|
74
116
|
rubygems_version: 2.7.6
|
75
117
|
signing_key:
|
76
118
|
specification_version: 4
|
77
|
-
summary:
|
119
|
+
summary: Simple Ruby CLI to generate .gitignore files
|
78
120
|
test_files: []
|