forgitter 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -0
- data/bin/forgitter +7 -2
- data/data/cloudspace/android/Android.gitignore +26 -0
- data/data/cloudspace/android/Eclipse.gitignore +30 -0
- data/data/cloudspace/android/OSX.gitignore +20 -0
- data/data/cloudspace/ios/OSX.gitignore +20 -0
- data/data/cloudspace/ios/Objective-C.gitignore +26 -0
- data/data/cloudspace/ios/Xcode.gitignore +14 -0
- data/data/cloudspace/javascript/ChefCookbook.gitignore +9 -0
- data/data/cloudspace/javascript/Linux.gitignore +4 -0
- data/data/cloudspace/javascript/Node.gitignore +28 -0
- data/data/cloudspace/javascript/Yeoman.gitignore +6 -0
- data/data/cloudspace/rails/ChefCookbook.gitignore +9 -0
- data/data/cloudspace/rails/Linux.gitignore +4 -0
- data/data/cloudspace/rails/Rails.gitignore +26 -0
- data/data/cloudspace/rails/Ruby.gitignore +34 -0
- data/lib/forgitter/cli/option_parser.rb +3 -5
- data/lib/forgitter/options.rb +1 -0
- data/lib/forgitter/runner.rb +1 -1
- data/lib/forgitter/types.rb +20 -9
- data/lib/forgitter/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9944c607aa9d114563a1a6ea8b5a69675c1e4371
|
4
|
+
data.tar.gz: 344b690701befbecbb7ab2b34fb5bc8288a00015
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0326aa319d64c310e4b331c7787026a947af60fd56d60989ebae4dc3e8c1eb6129cfd8dc618a618a9333400ea065469079bcfb5147e888e013bd07f0caf0ee47
|
7
|
+
data.tar.gz: 5502ded677083a616841a5ff4f6969401b9a17020f7c2a5725108f52aab15aff4409a08f59b2fecf07dc4a7fd132a7c3c8845a5da09945d93e1a2d176805a113
|
data/README.md
CHANGED
@@ -39,6 +39,9 @@ submodule. After cloning this repository, run the following to retrieve the
|
|
39
39
|
|
40
40
|
git submodule init && git submodule update
|
41
41
|
|
42
|
+
\*.gitignore files placed directly under `data/` will be ignored due to tag
|
43
|
+
ambiguity.
|
44
|
+
|
42
45
|
1. Fork it ( http://github.com/cloudspace/forgitter/fork )
|
43
46
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
44
47
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
data/bin/forgitter
CHANGED
@@ -6,12 +6,17 @@ require 'forgitter/cli'
|
|
6
6
|
option_parser = Forgitter::CLI::OptionParser.new
|
7
7
|
options = option_parser.parse(ARGV)
|
8
8
|
|
9
|
-
options[:tags] = []
|
10
9
|
options[:tags] << ARGV.pop until ARGV.empty?
|
11
|
-
if options[:tags].empty?
|
10
|
+
if options[:tags].empty? && !options[:list]
|
12
11
|
puts option_parser.help
|
13
12
|
exit(1)
|
14
13
|
end
|
14
|
+
options[:tags].reverse!
|
15
|
+
|
16
|
+
if options[:list]
|
17
|
+
Forgitter.list_types(options[:tags])
|
18
|
+
exit
|
19
|
+
end
|
15
20
|
|
16
21
|
runner = Forgitter::Runner.new(options)
|
17
22
|
runner.run
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Built application files
|
2
|
+
*.apk
|
3
|
+
*.ap_
|
4
|
+
|
5
|
+
# Files for the Dalvik VM
|
6
|
+
*.dex
|
7
|
+
|
8
|
+
# Java class files
|
9
|
+
*.class
|
10
|
+
|
11
|
+
# Generated files
|
12
|
+
bin/
|
13
|
+
gen/
|
14
|
+
|
15
|
+
# Gradle files
|
16
|
+
.gradle/
|
17
|
+
build/
|
18
|
+
|
19
|
+
# Local configuration file (sdk path, etc)
|
20
|
+
local.properties
|
21
|
+
|
22
|
+
# Proguard folder generated by Eclipse
|
23
|
+
proguard/
|
24
|
+
|
25
|
+
#Log Files
|
26
|
+
*.log
|
@@ -0,0 +1,30 @@
|
|
1
|
+
*.pydevproject
|
2
|
+
.metadata
|
3
|
+
.gradle
|
4
|
+
bin/
|
5
|
+
tmp/
|
6
|
+
*.tmp
|
7
|
+
*.bak
|
8
|
+
*.swp
|
9
|
+
*~.nib
|
10
|
+
local.properties
|
11
|
+
.settings/
|
12
|
+
.loadpath
|
13
|
+
|
14
|
+
# External tool builders
|
15
|
+
.externalToolBuilders/
|
16
|
+
|
17
|
+
# Locally stored "Eclipse launch configurations"
|
18
|
+
*.launch
|
19
|
+
|
20
|
+
# CDT-specific
|
21
|
+
.cproject
|
22
|
+
|
23
|
+
# PDT-specific
|
24
|
+
.buildpath
|
25
|
+
|
26
|
+
# sbteclipse plugin
|
27
|
+
.target
|
28
|
+
|
29
|
+
# TeXlipse plugin
|
30
|
+
.texlipse
|
@@ -0,0 +1,20 @@
|
|
1
|
+
.DS_Store
|
2
|
+
.AppleDouble
|
3
|
+
.LSOverride
|
4
|
+
|
5
|
+
# Icon must end with two \r
|
6
|
+
Icon
|
7
|
+
|
8
|
+
# Thumbnails
|
9
|
+
._*
|
10
|
+
|
11
|
+
# Files that might appear on external disk
|
12
|
+
.Spotlight-V100
|
13
|
+
.Trashes
|
14
|
+
|
15
|
+
# Directories potentially created on remote AFP share
|
16
|
+
.AppleDB
|
17
|
+
.AppleDesktop
|
18
|
+
Network Trash Folder
|
19
|
+
Temporary Items
|
20
|
+
.apdisk
|
@@ -0,0 +1,20 @@
|
|
1
|
+
.DS_Store
|
2
|
+
.AppleDouble
|
3
|
+
.LSOverride
|
4
|
+
|
5
|
+
# Icon must end with two \r
|
6
|
+
Icon
|
7
|
+
|
8
|
+
# Thumbnails
|
9
|
+
._*
|
10
|
+
|
11
|
+
# Files that might appear on external disk
|
12
|
+
.Spotlight-V100
|
13
|
+
.Trashes
|
14
|
+
|
15
|
+
# Directories potentially created on remote AFP share
|
16
|
+
.AppleDB
|
17
|
+
.AppleDesktop
|
18
|
+
Network Trash Folder
|
19
|
+
Temporary Items
|
20
|
+
.apdisk
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Xcode
|
2
|
+
#
|
3
|
+
build/
|
4
|
+
*.pbxuser
|
5
|
+
!default.pbxuser
|
6
|
+
*.mode1v3
|
7
|
+
!default.mode1v3
|
8
|
+
*.mode2v3
|
9
|
+
!default.mode2v3
|
10
|
+
*.perspectivev3
|
11
|
+
!default.perspectivev3
|
12
|
+
xcuserdata
|
13
|
+
*.xccheckout
|
14
|
+
*.moved-aside
|
15
|
+
DerivedData
|
16
|
+
*.hmap
|
17
|
+
*.ipa
|
18
|
+
*.xcuserstate
|
19
|
+
|
20
|
+
# CocoaPods
|
21
|
+
#
|
22
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
23
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
24
|
+
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
|
25
|
+
#
|
26
|
+
# Pods/
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Logs
|
2
|
+
logs
|
3
|
+
*.log
|
4
|
+
|
5
|
+
# Runtime data
|
6
|
+
pids
|
7
|
+
*.pid
|
8
|
+
*.seed
|
9
|
+
|
10
|
+
# Directory for instrumented libs generated by jscoverage/JSCover
|
11
|
+
lib-cov
|
12
|
+
|
13
|
+
# Coverage directory used by tools like istanbul
|
14
|
+
coverage
|
15
|
+
|
16
|
+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
17
|
+
.grunt
|
18
|
+
|
19
|
+
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
20
|
+
build/Release
|
21
|
+
|
22
|
+
# Dependency directory
|
23
|
+
# Commenting this out is preferred by some people, see
|
24
|
+
# https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
|
25
|
+
node_modules
|
26
|
+
|
27
|
+
# Users Environment Variables
|
28
|
+
.lock-wscript
|
@@ -0,0 +1,26 @@
|
|
1
|
+
*.rbc
|
2
|
+
capybara-*.html
|
3
|
+
.rspec
|
4
|
+
/log
|
5
|
+
/tmp
|
6
|
+
/db/*.sqlite3
|
7
|
+
/public/system
|
8
|
+
/coverage/
|
9
|
+
/spec/tmp
|
10
|
+
**.orig
|
11
|
+
rerun.txt
|
12
|
+
pickle-email-*.html
|
13
|
+
|
14
|
+
# TODO Comment out these rules if you are OK with secrets being uploaded to the repo
|
15
|
+
config/initializers/secret_token.rb
|
16
|
+
config/secrets.yml
|
17
|
+
|
18
|
+
## Environment normalisation:
|
19
|
+
/.bundle
|
20
|
+
/vendor/bundle
|
21
|
+
|
22
|
+
# these should all be checked in to normalise the environment:
|
23
|
+
# Gemfile.lock, .ruby-version, .ruby-gemset
|
24
|
+
|
25
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
26
|
+
.rvmrc
|
@@ -0,0 +1,34 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
/.config
|
4
|
+
/coverage/
|
5
|
+
/InstalledFiles
|
6
|
+
/pkg/
|
7
|
+
/spec/reports/
|
8
|
+
/test/tmp/
|
9
|
+
/test/version_tmp/
|
10
|
+
/tmp/
|
11
|
+
|
12
|
+
## Specific to RubyMotion:
|
13
|
+
.dat*
|
14
|
+
.repl_history
|
15
|
+
build/
|
16
|
+
|
17
|
+
## Documentation cache and generated files:
|
18
|
+
/.yardoc/
|
19
|
+
/_yardoc/
|
20
|
+
/doc/
|
21
|
+
/rdoc/
|
22
|
+
|
23
|
+
## Environment normalisation:
|
24
|
+
/.bundle/
|
25
|
+
/lib/bundler/man/
|
26
|
+
|
27
|
+
# for a library or gem, you might want to ignore these files since the code is
|
28
|
+
# intended to run in multiple environments; otherwise, check them in:
|
29
|
+
# Gemfile.lock
|
30
|
+
# .ruby-version
|
31
|
+
# .ruby-gemset
|
32
|
+
|
33
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
34
|
+
.rvmrc
|
@@ -18,11 +18,9 @@ module Forgitter
|
|
18
18
|
opts.separator ''
|
19
19
|
opts.separator 'Specific options:'
|
20
20
|
|
21
|
-
opts.on('-l', '--list
|
22
|
-
'
|
23
|
-
|
24
|
-
Forgitter.list_types(tags)
|
25
|
-
exit
|
21
|
+
opts.on('-l', '--list',
|
22
|
+
'Instead of generating a .gitignore, list the types that match the tags.') do
|
23
|
+
options[:list] = true
|
26
24
|
end
|
27
25
|
|
28
26
|
opts.on('-c', '--stdout',
|
data/lib/forgitter/options.rb
CHANGED
data/lib/forgitter/runner.rb
CHANGED
data/lib/forgitter/types.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'debugger'
|
2
1
|
module Forgitter
|
3
2
|
##
|
4
3
|
# Strip unnecessary characters and downcase the given string.
|
@@ -11,27 +10,37 @@ module Forgitter
|
|
11
10
|
end
|
12
11
|
|
13
12
|
##
|
14
|
-
# Filter types by tags.
|
13
|
+
# Filter types by tags, then by name.
|
15
14
|
#
|
16
15
|
# If tags is empty, this will return all types.
|
17
16
|
#
|
18
|
-
# @param [
|
17
|
+
# @param [Hash] the hash of options containing tag strings
|
19
18
|
# @return [Array] the array of filtered types
|
20
19
|
#
|
21
|
-
def self.filter_types(
|
20
|
+
def self.filter_types(options = {})
|
21
|
+
return types if options[:tags].empty?
|
22
|
+
|
22
23
|
types.select do |type|
|
23
|
-
|
24
|
+
selected = true
|
25
|
+
options[:tags].uniq.each do |tag|
|
26
|
+
selected &&= type[:tags].count(tag) >= options[:tags].count(tag)
|
27
|
+
end
|
28
|
+
selected
|
24
29
|
end
|
25
30
|
end
|
26
31
|
|
27
32
|
##
|
28
33
|
# Fetch all available type paths, relative to the DATA_PATH.
|
29
34
|
#
|
35
|
+
# .gitignore files placed directly under DATA_PATH are ignored.
|
36
|
+
#
|
30
37
|
# @return [Array] the array of available type paths
|
31
38
|
#
|
32
39
|
def self.paths
|
33
40
|
@@paths ||= Dir["#{DATA_PATH}/**/*.gitignore"].map do |path|
|
34
41
|
path.sub("#{DATA_PATH}/", '')
|
42
|
+
end.select do |path|
|
43
|
+
path =~ /\//
|
35
44
|
end
|
36
45
|
end
|
37
46
|
|
@@ -48,7 +57,7 @@ module Forgitter
|
|
48
57
|
##
|
49
58
|
# Pull parameterized tags out of the given path.
|
50
59
|
#
|
51
|
-
# If path does not contain a /, this returns an
|
60
|
+
# If path does not contain a /, this just returns the type name in an array.
|
52
61
|
#
|
53
62
|
# @param [String] the path to a .gitignore file
|
54
63
|
# @return [Array] the tags
|
@@ -61,6 +70,7 @@ module Forgitter
|
|
61
70
|
parameterize(tag)
|
62
71
|
end
|
63
72
|
end
|
73
|
+
tags << type(path)
|
64
74
|
tags
|
65
75
|
end
|
66
76
|
|
@@ -85,7 +95,7 @@ module Forgitter
|
|
85
95
|
end
|
86
96
|
|
87
97
|
def self.list_types(tags = [])
|
88
|
-
types = filter_types(tags)
|
98
|
+
types = filter_types({ :tags => tags })
|
89
99
|
if types.empty?
|
90
100
|
puts 'No types found!'
|
91
101
|
else
|
@@ -93,8 +103,9 @@ module Forgitter
|
|
93
103
|
col1size = 0
|
94
104
|
|
95
105
|
types.each do |type|
|
96
|
-
|
97
|
-
|
106
|
+
id = type[:tags].join(' ')
|
107
|
+
col1size = id.length if id.length > col1size
|
108
|
+
lines << [id, type[:path]]
|
98
109
|
end
|
99
110
|
|
100
111
|
lines.sort_by { |line| line[0] }.each do |line|
|
data/lib/forgitter/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: forgitter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Dunson
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-05-
|
12
|
+
date: 2014-05-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -70,6 +70,20 @@ files:
|
|
70
70
|
- README.md
|
71
71
|
- Rakefile
|
72
72
|
- bin/forgitter
|
73
|
+
- data/cloudspace/android/Android.gitignore
|
74
|
+
- data/cloudspace/android/Eclipse.gitignore
|
75
|
+
- data/cloudspace/android/OSX.gitignore
|
76
|
+
- data/cloudspace/ios/OSX.gitignore
|
77
|
+
- data/cloudspace/ios/Objective-C.gitignore
|
78
|
+
- data/cloudspace/ios/Xcode.gitignore
|
79
|
+
- data/cloudspace/javascript/ChefCookbook.gitignore
|
80
|
+
- data/cloudspace/javascript/Linux.gitignore
|
81
|
+
- data/cloudspace/javascript/Node.gitignore
|
82
|
+
- data/cloudspace/javascript/Yeoman.gitignore
|
83
|
+
- data/cloudspace/rails/ChefCookbook.gitignore
|
84
|
+
- data/cloudspace/rails/Linux.gitignore
|
85
|
+
- data/cloudspace/rails/Rails.gitignore
|
86
|
+
- data/cloudspace/rails/Ruby.gitignore
|
73
87
|
- data/github/Actionscript.gitignore
|
74
88
|
- data/github/Ada.gitignore
|
75
89
|
- data/github/Agda.gitignore
|