gitignore 0.0.0 → 0.1.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.
- data/README.md +101 -0
- data/README.md~ +90 -0
- data/bin/gitignore +43 -1
- data/bin/gitignore~ +50 -0
- data/lib/gitignore.rb +29 -9
- data/lib/gitignore.rb~ +70 -0
- metadata +6 -2
data/README.md
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
Gitignore Gem
|
2
|
+
=============
|
3
|
+
Command line program that allows to generate .gitignore files base on predefined templates (in the future you will be able to create your own templates)
|
4
|
+
|
5
|
+
|
6
|
+
DISCLAIMER !!!
|
7
|
+
-----------
|
8
|
+
The gem is on beta, use at your own risk !!!! (e.g. you could lose your .gitignore if the template is not found :( )
|
9
|
+
|
10
|
+
|
11
|
+
Installation
|
12
|
+
-----------
|
13
|
+
|
14
|
+
gem install gitignore
|
15
|
+
|
16
|
+
|
17
|
+
Usage
|
18
|
+
-----
|
19
|
+
|
20
|
+
Usage: gitignore NAMES\_OF\_TEMPLATES [OPTIONS]
|
21
|
+
|
22
|
+
Example: gitignore android osx eclipse
|
23
|
+
|
24
|
+
Options
|
25
|
+
|
26
|
+
-h, --help help
|
27
|
+
|
28
|
+
-o, --overwrite overwrite the contents of existing gitignore file
|
29
|
+
|
30
|
+
-l, --list prints all possible templates
|
31
|
+
|
32
|
+
Example
|
33
|
+
-----
|
34
|
+
Let say we want to create a gitignore file for a project in a mac, and our project will use ruby, we would execute:
|
35
|
+
|
36
|
+
|
37
|
+
gitignore OSX ruby
|
38
|
+
|
39
|
+
ouput:
|
40
|
+
-----
|
41
|
+
#********** OSX **********
|
42
|
+
|
43
|
+
.DS_Store
|
44
|
+
|
45
|
+
# Thumbnails
|
46
|
+
._*
|
47
|
+
|
48
|
+
# Files that might appear on external disk
|
49
|
+
.Spotlight-V100
|
50
|
+
.Trashes
|
51
|
+
|
52
|
+
#********** ruby **********
|
53
|
+
|
54
|
+
*.gem
|
55
|
+
*.rbc
|
56
|
+
.bundle
|
57
|
+
.config
|
58
|
+
coverage
|
59
|
+
InstalledFiles
|
60
|
+
lib/bundler/man
|
61
|
+
pkg
|
62
|
+
rdoc
|
63
|
+
spec/reports
|
64
|
+
test/tmp
|
65
|
+
test/version_tmp
|
66
|
+
tmp
|
67
|
+
|
68
|
+
# YARD artifacts
|
69
|
+
.yardoc
|
70
|
+
_yardoc
|
71
|
+
doc/
|
72
|
+
|
73
|
+
Or let say our project is on linux, and we will use django, and of course python , SASS, and emacs
|
74
|
+
|
75
|
+
gitignore Django Linux Python SASS emacs
|
76
|
+
|
77
|
+
templates
|
78
|
+
-----
|
79
|
+
|
80
|
+
This gem use the github templates, you can check it at
|
81
|
+
|
82
|
+
[Github Templates] (https://github.com/github/gitignore/)
|
83
|
+
|
84
|
+
or you can just execute
|
85
|
+
|
86
|
+
gitignore --list
|
87
|
+
|
88
|
+
I recommend you to use it in combination with grep as follows
|
89
|
+
|
90
|
+
gitignore --list | grep 'Text'
|
91
|
+
|
92
|
+
|
93
|
+
Contributing
|
94
|
+
------------
|
95
|
+
|
96
|
+
1. Fork it.
|
97
|
+
2. Create a branch (`git checkout -b my_gitignore`)
|
98
|
+
3. Commit your changes (`git commit -am "Added nyancat"`)
|
99
|
+
4. Push to the branch (`git push origin my_gitignore`)
|
100
|
+
5. Create an [Issue](https://github.com/DavidToca/gitignore-gem/issues) with a link to your branch
|
101
|
+
6. Enjoy a refreshing Diet Coke and wait
|
data/README.md~
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
|
2
|
+
Gitignore Gem
|
3
|
+
=============
|
4
|
+
Command line program that allows to generate .gitignore files base on prefenined templates (in the future you will be able to create your own templates)
|
5
|
+
|
6
|
+
|
7
|
+
DISCLAIMER !!!
|
8
|
+
-----------
|
9
|
+
The gem is on beta, use at your own risk !!!! (because losing a .gitignore could mean the end of everything as we know ;) )
|
10
|
+
|
11
|
+
|
12
|
+
Installation
|
13
|
+
-----------
|
14
|
+
|
15
|
+
gem install gitignore
|
16
|
+
|
17
|
+
|
18
|
+
Usage
|
19
|
+
-----
|
20
|
+
Let say we want to create a gitignore file for a project in a mac, and our project will use ruby, we would execute:
|
21
|
+
|
22
|
+
|
23
|
+
gitignore OSX ruby
|
24
|
+
|
25
|
+
ouput:
|
26
|
+
-----
|
27
|
+
#######OSX#########
|
28
|
+
|
29
|
+
.DS_Store
|
30
|
+
|
31
|
+
# Thumbnails
|
32
|
+
._*
|
33
|
+
|
34
|
+
# Files that might appear on external disk
|
35
|
+
.Spotlight-V100
|
36
|
+
.Trashes
|
37
|
+
|
38
|
+
#####################
|
39
|
+
|
40
|
+
|
41
|
+
########ruby#########
|
42
|
+
|
43
|
+
*.gem
|
44
|
+
*.rbc
|
45
|
+
.bundle
|
46
|
+
.config
|
47
|
+
coverage
|
48
|
+
InstalledFiles
|
49
|
+
lib/bundler/man
|
50
|
+
pkg
|
51
|
+
rdoc
|
52
|
+
spec/reports
|
53
|
+
test/tmp
|
54
|
+
test/version_tmp
|
55
|
+
tmp
|
56
|
+
|
57
|
+
# YARD artifacts
|
58
|
+
.yardoc
|
59
|
+
_yardoc
|
60
|
+
doc/
|
61
|
+
|
62
|
+
#####################
|
63
|
+
|
64
|
+
|
65
|
+
Or let say our project is on linux, and we will use django, and of course python , SASS, and emacs
|
66
|
+
|
67
|
+
gitignore Django Linux Python SASS emacs
|
68
|
+
|
69
|
+
|
70
|
+
ouput
|
71
|
+
-----
|
72
|
+
Too long to put in here :)
|
73
|
+
|
74
|
+
templates
|
75
|
+
-----
|
76
|
+
you can find a list of all templates here
|
77
|
+
|
78
|
+
[Github Templates] (https://github.com/github/gitignore/)
|
79
|
+
|
80
|
+
I will add a `gitignore -list` (some day)
|
81
|
+
|
82
|
+
Contributing
|
83
|
+
------------
|
84
|
+
|
85
|
+
1. Fork it.
|
86
|
+
2. Create a branch (`git checkout -b my_gitignore`)
|
87
|
+
3. Commit your changes (`git commit -am "Added nyancat"`)
|
88
|
+
4. Push to the branch (`git push origin my_gitignore`)
|
89
|
+
5. Create an [Issue][1] with a link to your branch
|
90
|
+
6. Enjoy a refreshing Diet Coke and wait
|
data/bin/gitignore
CHANGED
@@ -2,4 +2,46 @@
|
|
2
2
|
|
3
3
|
require 'gitignore'
|
4
4
|
|
5
|
-
|
5
|
+
require 'optparse'
|
6
|
+
|
7
|
+
options = {}
|
8
|
+
|
9
|
+
opt_parser = OptionParser.new do |opt|
|
10
|
+
|
11
|
+
opt.banner = "Usage: gitignore NAMES_OF_TEMPLATES [OPTIONS]"
|
12
|
+
opt.separator ""
|
13
|
+
opt.separator "Example: gitignore android osx eclipse"
|
14
|
+
opt.separator ""
|
15
|
+
opt.separator "Options"
|
16
|
+
|
17
|
+
opt.on("-h","--help","help") do
|
18
|
+
options[:help] = true
|
19
|
+
end
|
20
|
+
|
21
|
+
opt.on("-o","--overwrite","overwrite the contents of existing gitignore file") do
|
22
|
+
options[:overwrite] = true
|
23
|
+
end
|
24
|
+
|
25
|
+
opt.on("-l","--list","prints all possible templates") do
|
26
|
+
options[:list] = true
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
begin
|
32
|
+
opt_parser.parse! ARGV
|
33
|
+
|
34
|
+
rescue => err
|
35
|
+
puts "Wrong arguments"
|
36
|
+
Process.exit 1
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
if (options.empty? and ARGV.empty?) or options[:help]
|
41
|
+
puts opt_parser
|
42
|
+
elsif options[:list]
|
43
|
+
puts Gitignore::list_gitignore_files
|
44
|
+
else
|
45
|
+
puts Gitignore::create_gitignore(ARGV,options[:overwrite])
|
46
|
+
end
|
47
|
+
|
data/bin/gitignore~
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
#!/usr/bin/env/ ruby
|
2
|
+
|
3
|
+
require 'gitignore'
|
4
|
+
|
5
|
+
require 'optparse'
|
6
|
+
|
7
|
+
options = {}
|
8
|
+
|
9
|
+
opt_parser = OptionParser.new do |opt|
|
10
|
+
|
11
|
+
opt.banner = "Usage: gitignore NAMES_OF_TEMPLATES [OPTIONS]"
|
12
|
+
opt.separator ""
|
13
|
+
opt.separator "Example: gitignore android osx eclipse"
|
14
|
+
# opt.separator ""
|
15
|
+
# opt.separator "Commands"
|
16
|
+
# opt.separator " list: prints all possible templates"
|
17
|
+
opt.separator ""
|
18
|
+
opt.separator "Options"
|
19
|
+
|
20
|
+
opt.on("-h","--help","help") do
|
21
|
+
options[:help] = true
|
22
|
+
end
|
23
|
+
|
24
|
+
opt.on("-o","--overwrite","overwrite the contents of existing gitignore file") do
|
25
|
+
options[:overwrite] = true
|
26
|
+
end
|
27
|
+
|
28
|
+
opt.on("-l","--list","list: prints all possible templates") do
|
29
|
+
options[:list] = true
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
begin
|
35
|
+
opt_parser.parse! ARGV
|
36
|
+
|
37
|
+
rescue => err
|
38
|
+
puts "Wrong arguments"
|
39
|
+
Process.exit 1
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
if (options.empty? and ARGV.empty?) or options[:help]
|
44
|
+
puts opt_parser
|
45
|
+
elsif options[:list]
|
46
|
+
puts Gitignore::list_gitignore_files
|
47
|
+
else
|
48
|
+
puts Gitignore::create_gitignore(ARGV,options[:overwrite])
|
49
|
+
end
|
50
|
+
|
data/lib/gitignore.rb
CHANGED
@@ -1,19 +1,30 @@
|
|
1
|
-
|
2
1
|
class Gitignore
|
3
2
|
|
4
|
-
|
3
|
+
def self.list_gitignore_files
|
4
|
+
|
5
|
+
template_dir=File.join(File.dirname(__FILE__),"gitignore","templates")
|
6
|
+
|
7
|
+
list_files = Dir.entries(template_dir)
|
8
|
+
|
9
|
+
list_files.delete('.')
|
10
|
+
list_files.delete('..')
|
11
|
+
|
12
|
+
list_files.collect{|file| file.gsub(".gitignore","") }
|
13
|
+
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.create_gitignore (file_names,overwrite)
|
5
18
|
|
6
19
|
mode = overwrite ? 'w' : 'a'
|
7
20
|
|
8
|
-
#file_name=File.join(File.dirname(__FILE__), ".gitignore")
|
9
21
|
file_name=File.join(".", ".gitignore")
|
10
|
-
|
11
|
-
|
22
|
+
|
12
23
|
File::open(file_name,mode) do |f|
|
13
|
-
|
24
|
+
|
14
25
|
file_names.each do |name|
|
15
26
|
|
16
|
-
|
27
|
+
f<<"\n##{'*' * 10 } #{name} template#{'*' * 10 } \n\n"
|
17
28
|
|
18
29
|
begin
|
19
30
|
|
@@ -29,14 +40,15 @@ class Gitignore
|
|
29
40
|
|
30
41
|
return "Exception: #{err}"
|
31
42
|
#err
|
43
|
+
|
32
44
|
end
|
33
45
|
|
34
|
-
f<<"\n
|
46
|
+
f<<" \n"
|
35
47
|
end
|
36
48
|
|
37
49
|
end
|
38
50
|
|
39
|
-
return "
|
51
|
+
return "Successful created"
|
40
52
|
|
41
53
|
end
|
42
54
|
|
@@ -49,3 +61,11 @@ end
|
|
49
61
|
# puts ignore.create_gitignore(ARGV,false)
|
50
62
|
#end
|
51
63
|
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
data/lib/gitignore.rb~
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
<<<<<<< HEAD
|
2
|
+
|
3
|
+
|
4
|
+
=======
|
5
|
+
>>>>>>> 2c8ca5df8071bdfb714fb1d6efe7e94504861896
|
6
|
+
class Gitignore
|
7
|
+
|
8
|
+
def self.list_gitignore_files
|
9
|
+
|
10
|
+
template_dir=File.join(File.dirname(__FILE__),"gitignore","templates")
|
11
|
+
|
12
|
+
list_files = Dir.entries(template_dir)
|
13
|
+
|
14
|
+
list_files.delete('.')
|
15
|
+
list_files.delete('..')
|
16
|
+
|
17
|
+
list_files.collect{|file| file.gsub(".gitignore","") }
|
18
|
+
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.create_gitignore (file_names,overwrite)
|
23
|
+
|
24
|
+
mode = overwrite ? 'w' : 'a'
|
25
|
+
|
26
|
+
#file_name=File.join(File.dirname(__FILE__), ".gitignore")
|
27
|
+
file_name=File.join(".", ".gitignore")
|
28
|
+
#puts file_namen
|
29
|
+
|
30
|
+
File::open(file_name,mode) do |f|
|
31
|
+
|
32
|
+
file_names.each do |name|
|
33
|
+
|
34
|
+
f<<"\n##{'*' * 10 } #{name} template#{'*' * 10 } \n\n"
|
35
|
+
|
36
|
+
begin
|
37
|
+
|
38
|
+
#puts "Inserting #{name} settings"
|
39
|
+
|
40
|
+
template_file_name=File.join(File.dirname(__FILE__),"gitignore","templates","#{name}.gitignore")
|
41
|
+
|
42
|
+
#puts template_file_name
|
43
|
+
|
44
|
+
file_content=File::read(template_file_name)
|
45
|
+
f<<file_content unless file_content.nil?
|
46
|
+
rescue =>err
|
47
|
+
|
48
|
+
return "Exception: #{err}"
|
49
|
+
#err
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
f<<" \n"
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
return "Successful created"
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
#if __FILE__ == $0
|
65
|
+
# Do something.. run tests, call a method, etc. We're direct.
|
66
|
+
# ignore =Gitignore.new
|
67
|
+
#puts ignore.create_gitignore(['Linux','Eclipse','emacs``'],true)
|
68
|
+
# puts ignore.create_gitignore(ARGV,false)
|
69
|
+
#end
|
70
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitignore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-07-06 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Use file templeates to create .gitignore files
|
15
15
|
email: david.virusfel@gmail.com
|
@@ -19,6 +19,7 @@ extensions: []
|
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
21
|
- bin/gitignore
|
22
|
+
- bin/gitignore~
|
22
23
|
- lib/gitignore/templates/Actionscript.gitignore
|
23
24
|
- lib/gitignore/templates/Android.gitignore
|
24
25
|
- lib/gitignore/templates/Archives.gitignore
|
@@ -120,6 +121,9 @@ files:
|
|
120
121
|
- lib/gitignore/templates/Yii.gitignore
|
121
122
|
- lib/gitignore/templates/ZendFramework.gitignore
|
122
123
|
- lib/gitignore.rb
|
124
|
+
- lib/gitignore.rb~
|
125
|
+
- README.md
|
126
|
+
- README.md~
|
123
127
|
homepage: http://rubygems.org/gems/gitignore
|
124
128
|
licenses: []
|
125
129
|
post_install_message:
|