ignorefile 1.0.0 → 1.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/lib/ignorefile.rb +18 -12
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7492f7b48a8963b2b302b5e37928597df3195f01
4
- data.tar.gz: 32b6c6e44f836e6b8c2149d78495f08b7121da10
3
+ metadata.gz: 54befc00e3c324e3603a18af70be4b25a49200ea
4
+ data.tar.gz: 02b91e443f51ce738fed9a9df66cfb3449ee168a
5
5
  SHA512:
6
- metadata.gz: 8b589b56496ba3cb3f5d9760afa422e59c0ae0632397a06653ab3cc2a2d4faaa951c026ef34f86203623918451a9caf270a4d2ec1a185c8fe43956ac618bb85c
7
- data.tar.gz: 9876ae8ccfc33133543a39ce4f37e3596c0d5281fe4803959b56975de84e29fbcc209e18a8c1dee182409f21f505e8d6c4c94e1162e90d9cceb229674e29d9f0
6
+ metadata.gz: 3f92a0fba285c24dd9fb317d1e3244bd7f6eba449d6b8bf372af0c90075ec4d992ab2075482d6ae86ce084cc9668b9e59f634e680dc2581b8ef04cbd99d60268
7
+ data.tar.gz: ae3e6c5e2b4c0e48364452e221b7868d876de47b97a8de8004b23ee23cf0dabc07b47051bb909d202043860d6d761980bd1521c12f273bd8d4e5eccfe85963a7
data/.gitignore CHANGED
@@ -12,3 +12,4 @@
12
12
  *.o
13
13
  *.a
14
14
  mkmf.log
15
+ VERSION
@@ -1,3 +1,5 @@
1
+ require 'pathname'
2
+
1
3
  ##
2
4
  # Ignore things
3
5
  ##
@@ -19,30 +21,34 @@ class IgnoreFile
19
21
 
20
22
  def push(*arg)
21
23
  statements.push(*arg.flatten.map(&:strip))
22
- statements.sort!
23
- statements.uniq!
24
+
25
+ self
24
26
  end
25
27
  alias_method :<<, :push
26
28
 
27
- def load_file(ifile)
28
- push(File.readlines(ifile).map(&:strip).reject do |line|
29
+ def load_file(file)
30
+ file = Pathname.new(file)
31
+ return unless file.exist?
32
+
33
+ push(file.readlines.map(&:strip).reject do |line|
29
34
  line.empty? || line =~ COMMENT_OR_WHITESPACE
30
35
  end)
36
+
37
+ self
31
38
  end
32
39
 
33
40
  def ignored?(file)
34
- statements.any? { |statement| File.fnmatch?(statement, file) }
41
+ return true if file.to_s.strip.empty?
42
+
43
+ file = Pathname.new(file)
44
+ statements.any? { |statement| file.fnmatch?(statement) }
35
45
  end
36
46
 
37
- def apply(*files)
38
- files.flatten.reject do |file|
39
- file.strip.empty? || ignored?(file)
40
- end
47
+ def apply(files)
48
+ files.flatten.reject { |file| ignored?(file) }
41
49
  end
42
50
 
43
51
  def apply!(files)
44
- files.reject! do |file|
45
- file.strip.empty? || ignored?(file)
46
- end
52
+ files.flatten.reject! { |file| ignored?(file) }
47
53
  end
48
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ignorefile
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Manero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-01 00:00:00.000000000 Z
11
+ date: 2015-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler