ignorefile 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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