maid 0.7.0 → 0.8.0.alpha.1

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.
@@ -12,3 +12,4 @@ rvm:
12
12
  - 2.1.5
13
13
  - 2.2.0
14
14
  - 2.2.1
15
+ - 2.2.2
data/AUTHORS.md CHANGED
@@ -18,4 +18,5 @@ In alphabetical order:
18
18
  * Nico Ritschel (@nicosuave)
19
19
  * Pedro Lambert (@p-lambert)
20
20
  * Shiro Hazuki (@HazukiShiro)
21
+ * Song Chen Wen (宋辰文, @songchenwen)
21
22
  * Vladimir Agafonkin (@mourner)
data/ChangeLog CHANGED
@@ -1,4 +1,16 @@
1
- maid (0.7.0) unstable; urgency=low
1
+ maid (0.8.0) unstable; urgency=low
2
+
3
+ * Started official support for Ruby 2.2.2.
4
+ * Song Chen Wen: Added OSX tagging tools (depends on `brew install tag`):
5
+ "tags", "has_tags?", "contains_tag?", "add_tag", "remove_tag", "set_tag"
6
+ (Closes: #125)
7
+ * Song Chen Wen: Added "hidden?", "has_been_used?", "used_at", "added_at"
8
+ tools, using OSX Spotlight metadata when available
9
+ * Song Chen Wen: Added Aria2 and Tunder support to "downloading?" tool
10
+
11
+ -- Benjamin Oakes <hello@benjaminoakes.com> TODO
12
+
13
+ maid (0.7.0) stable; urgency=low
2
14
 
3
15
  * Stats! { 'collaborators' => 19, 'downloads' => 19988, 'forks' => 49,
4
16
  'open_issues' => 40, 'closed_issues' => 105, 'stars' => 1070,
@@ -11,7 +23,7 @@ maid (0.7.0) unstable; urgency=low
11
23
  * Itsuki Kurokawa: Add "ignore_child_dirs", "tree_empty?" tools. (Closes: #144, #145)
12
24
  * Bugfix: "copy" now respects the dry-run/noop option
13
25
 
14
- -- Benjamin Oakes <hello@benjaminoakes.com> TODO
26
+ -- Benjamin Oakes <hello@benjaminoakes.com> Sat, 28 Mar 2015 22:13:00 +0000
15
27
 
16
28
  maid (0.6.1) stable; urgency=low
17
29
 
@@ -9,6 +9,8 @@ require 'mime/types'
9
9
  require 'dimensions'
10
10
  require 'zip'
11
11
 
12
+ require 'pathname'
13
+
12
14
  # These "tools" are methods available in the Maid DSL.
13
15
  #
14
16
  # In general, methods are expected to:
@@ -360,7 +362,7 @@ module Maid::Tools
360
362
  #
361
363
  # See also: `dir_safe`
362
364
  def downloading?(path)
363
- !!(chrome_downloading?(path) || firefox_downloading?(path) || safari_downloading?(path))
365
+ !!(chrome_downloading?(path) || firefox_downloading?(path) || safari_downloading?(path) || aria2_downloading?(path) || thunder_downloading?(path))
364
366
  end
365
367
 
366
368
  # Find all duplicate files in the given globs.
@@ -754,6 +756,188 @@ module Maid::Tools
754
756
  }
755
757
  end
756
758
 
759
+
760
+ # Get a list of Finder labels of a file or directory. Only available on OS X when you have tag installed.
761
+ #
762
+ # ## Example
763
+ #
764
+ # tags("~/Downloads/a.dmg.download") # => ["Unfinished"]
765
+ def tags(path)
766
+ unless has_tag_available_and_warn?()
767
+ return []
768
+ end
769
+
770
+ path = sh_escape(expand(path))
771
+ raw = cmd("tag -lN #{path}")
772
+ raw.strip.split(',')
773
+ end
774
+
775
+ # Tell if a file or directory has any Finder labels. Only available on OS X when you have tag installed.
776
+ #
777
+ # ## Example
778
+ #
779
+ # has_tags?("~/Downloads/a.dmg.download") # => true
780
+ def has_tags?(path)
781
+ unless has_tag_available_and_warn?()
782
+ return false
783
+ end
784
+
785
+ ts = tags(path)
786
+ ts && ts.count > 0
787
+ end
788
+
789
+ # Tell if a file or directory has a certain Finder labels. Only available on OS X when you have tag installed.
790
+ #
791
+ # ## Example
792
+ #
793
+ # contains_tag?("~/Downloads/a.dmg.download", "Unfinished") # => true
794
+ def contains_tag?(path, tag)
795
+ unless has_tag_available_and_warn?()
796
+ return false
797
+ end
798
+
799
+ path = expand(path)
800
+ ts = tags(path)
801
+ ts.include? tag
802
+ end
803
+
804
+ # Add a Finder label or a list of labels to a file or directory. Only available on OS X when you have tag installed.
805
+ #
806
+ # ## Example
807
+ #
808
+ # add_tag("~/Downloads/a.dmg.download", "Unfinished")
809
+ def add_tag(path, tag)
810
+ unless has_tag_available_and_warn?()
811
+ return
812
+ end
813
+
814
+ path = expand(path)
815
+ ts = Array(tag).join(",")
816
+ log "add tags #{ts} to #{path}"
817
+ if !@file_options[:noop]
818
+ cmd("tag -a #{ts} #{sh_escape(path)}")
819
+ end
820
+ end
821
+
822
+ # Remove a Finder label or a list of labels from a file or directory. Only available on OS X when you have tag installed.
823
+ #
824
+ # ## Example
825
+ #
826
+ # remove_tag("~/Downloads/a.dmg", "Unfinished")
827
+ def remove_tag(path, tag)
828
+ unless has_tag_available_and_warn?()
829
+ return
830
+ end
831
+
832
+ path = expand(path)
833
+ ts = Array(tag).join(",")
834
+ log "remove tags #{ts} from #{path}"
835
+ if !@file_options[:noop]
836
+ cmd("tag -r #{ts} #{sh_escape(path)}")
837
+ end
838
+ end
839
+
840
+ # Set Finder label of a file or directory to a label or a list of labels. Only available on OS X when you have tag installed.
841
+ #
842
+ # ## Example
843
+ #
844
+ # set_tag("~/Downloads/a.dmg.download", "Unfinished")
845
+ def set_tag(path, tag)
846
+ unless has_tag_available_and_warn?()
847
+ return
848
+ end
849
+
850
+ path = expand(path)
851
+ ts = Array(tag).join(",")
852
+ log "set tags #{ts} to #{path}"
853
+ if !@file_options[:noop]
854
+ `tag -s "#{ts}" "#{path}"`
855
+ end
856
+ end
857
+
858
+ # Tell if a file is hidden
859
+ #
860
+ # ## Example
861
+ #
862
+ # hidden?("~/.maid") # => true
863
+ def hidden?(path)
864
+ if Maid::Platform.osx?
865
+ attribute = 'kMDItemFSInvisible'
866
+ raw = cmd("mdls -raw -name #{attribute} #{ sh_escape(path) }")
867
+ return raw == '1'
868
+ else
869
+ p = Pathname.new(expand(path))
870
+ return p.basename =~ /^\./
871
+ end
872
+ end
873
+
874
+ # Tell if a file has been used since added
875
+ #
876
+ # ## Example
877
+ #
878
+ # has_been_used?("~/Downloads/downloading.download") # => false
879
+ def has_been_used?(path)
880
+ if Maid::Platform.osx?
881
+ path = expand(path)
882
+ raw = cmd("mdls -raw -name kMDItemLastUsedDate #{ sh_escape(path) }")
883
+ if raw == "(null)"
884
+ return false
885
+ end
886
+ begin
887
+ DateTime.parse(raw).to_time
888
+ return true
889
+ rescue Exception => e
890
+ return false
891
+ end
892
+ else
893
+ return used_at(path) <=> added_at(path) > 0
894
+ end
895
+ end
896
+
897
+ # The last used time of a file on OS X, or atime on Linux.
898
+ #
899
+ # ## Example
900
+ #
901
+ # used_at("foo.zip") # => Sat Apr 09 10:50:01 -0400 2011
902
+ def used_at(path)
903
+ if Maid::Platform.osx?
904
+ path = expand(path)
905
+ raw = cmd("mdls -raw -name kMDItemLastUsedDate #{ sh_escape(path) }")
906
+ if raw == "(null)"
907
+ return 3650.day.ago
908
+ end
909
+ begin
910
+ return DateTime.parse(raw).to_time
911
+ rescue Exception => e
912
+ return accessed_at(path)
913
+ end
914
+ else
915
+ return accessed_at(path)
916
+ end
917
+ end
918
+
919
+ # The added time of a file on OS X, or ctime on Linux.
920
+ #
921
+ # ## Example
922
+ #
923
+ # added_at("foo.zip") # => Sat Apr 09 10:50:01 -0400 2011
924
+ def added_at(path)
925
+ if Maid::Platform.osx?
926
+ path = expand(path)
927
+ raw = cmd("mdls -raw -name kMDItemDateAdded #{ sh_escape(path) }")
928
+ if raw == "(null)"
929
+ return 1.second.ago
930
+ end
931
+ begin
932
+ return DateTime.parse(raw).to_time
933
+ rescue Exception => e
934
+ return created_at(path)
935
+ end
936
+ else
937
+ return created_at(path)
938
+ end
939
+ end
940
+
757
941
  private
758
942
 
759
943
  def firefox_downloading?(path)
@@ -769,6 +953,30 @@ module Maid::Tools
769
953
  path =~ /\.download$/
770
954
  end
771
955
 
956
+ def aria2_downloading?(path)
957
+ File.exist?("#{path}.aria2") || path =~ /\.aria2$/
958
+ end
959
+
960
+ def thunder_downloading?(path)
961
+ path =~ /\.td$/ || path =~ /\.td.cfg$/
962
+ end
963
+
964
+ def has_tag_available?()
965
+ return Maid::Platform.osx? && system("which -s tag")
966
+ end
967
+
968
+ def has_tag_available_and_warn?()
969
+ unless has_tag_available?
970
+ if Maid::Platform.osx?
971
+ warn("To use this feature, you need `tag` installed. Run `brew install tag`")
972
+ else
973
+ warn("sorry, tagging is unavailable on your platform")
974
+ end
975
+ return false
976
+ end
977
+ return true
978
+ end
979
+
772
980
  def sh_escape(array)
773
981
  Escape.shell_command(Array(array))
774
982
  end
@@ -1,4 +1,4 @@
1
1
  module Maid
2
- VERSION = '0.7.0'
2
+ VERSION = '0.8.0.alpha.1'
3
3
  SUMMARY = 'Be lazy. Let Maid clean up after you, based on rules you define. Think of it as "Hazel for hackers".'
4
4
  end
@@ -771,5 +771,150 @@ module Maid
771
771
  expect(@maid.ignore_child_dirs(src).sort).to eq(expected)
772
772
  end
773
773
  end
774
+
775
+ describe '#tags' do
776
+ before do
777
+ @test_file = (@test_dir = '~/.maid/test/') + (@file_name = 'tag.zip')
778
+ `mkdir -p #{@test_dir}`
779
+ `touch #{@test_file}`
780
+ @maid.file_options[:noop] = false
781
+ end
782
+
783
+ after do
784
+ `rm -r #{@test_dir}`
785
+ @maid.file_options[:noop] = true
786
+ end
787
+
788
+ it 'get tags from a file that has one' do
789
+ if system("which -s tag")
790
+ @maid.file_options[:noop] = false
791
+ @maid.add_tag(@test_file, "Test")
792
+ expect(@maid.tags(@test_file)).to eq(["Test"])
793
+ end
794
+ end
795
+
796
+ it 'get tags from a file that has serveral tags' do
797
+ if system("which -s tag")
798
+ @maid.file_options[:noop] = false
799
+ @maid.add_tag(@test_file, ["Test", "Twice"])
800
+ expect(@maid.tags(@test_file)).to eq(["Test", "Twice"])
801
+ end
802
+ end
803
+ end
804
+
805
+ describe '#has_tags?' do
806
+ before do
807
+ @test_file = (@test_dir = '~/.maid/test/') + (@file_name = 'tag.zip')
808
+ `mkdir -p #{@test_dir}`
809
+ `touch #{@test_file}`
810
+ @maid.file_options[:noop] = false
811
+ end
812
+
813
+ after do
814
+ `rm -r #{@test_dir}`
815
+ @maid.file_options[:noop] = true
816
+ end
817
+
818
+ it 'A file with tags' do
819
+ if system("which -s tag")
820
+ @maid.add_tag(@test_file, "Test")
821
+ expect(@maid.has_tags?(@test_file)).to be(true)
822
+ end
823
+ end
824
+
825
+ it 'A file without tags' do
826
+ expect(@maid.has_tags?(@test_file)).to be(false)
827
+ end
828
+ end
829
+
830
+ describe '#contains_tag?' do
831
+ before do
832
+ @test_file = (@test_dir = '~/.maid/test/') + (@file_name = 'tag.zip')
833
+ `mkdir -p #{@test_dir}`
834
+ `touch #{@test_file}`
835
+ @maid.file_options[:noop] = false
836
+ end
837
+
838
+ after do
839
+ `rm -r #{@test_dir}`
840
+ @maid.file_options[:noop] = true
841
+ end
842
+
843
+ it 'A file with Test tag' do
844
+ if system("which -s tag")
845
+ @maid.add_tag(@test_file, "Test")
846
+ expect(@maid.contains_tag?(@test_file, "Test")).to be(true)
847
+ expect(@maid.contains_tag?(@test_file, "Not there")).to be(false)
848
+ end
849
+ end
850
+ end
851
+
852
+ describe '#add_tag' do
853
+ before do
854
+ @test_file = (@test_dir = '~/.maid/test/') + (@file_name = 'tag.zip')
855
+ `mkdir -p #{@test_dir}`
856
+ `touch #{@test_file}`
857
+ @maid.file_options[:noop] = false
858
+ end
859
+
860
+ after do
861
+ `rm -r #{@test_dir}`
862
+ @maid.file_options[:noop] = true
863
+ end
864
+
865
+ it 'Add Test tag to a file' do
866
+ if system("which -s tag")
867
+ @maid.add_tag(@test_file, "Test")
868
+ expect(@maid.contains_tag?(@test_file, "Test")).to be(true)
869
+ end
870
+ end
871
+ end
872
+
873
+ describe '#remove_tag' do
874
+ before do
875
+ @test_file = (@test_dir = '~/.maid/test/') + (@file_name = 'tag.zip')
876
+ `mkdir -p #{@test_dir}`
877
+ `touch #{@test_file}`
878
+ @maid.file_options[:noop] = false
879
+ end
880
+
881
+ after do
882
+ `rm -r #{@test_dir}`
883
+ @maid.file_options[:noop] = true
884
+ end
885
+
886
+ it 'Remove Test tag from a file' do
887
+ if system("which -s tag")
888
+ @maid.add_tag(@test_file, "Test")
889
+ expect(@maid.contains_tag?(@test_file, "Test")).to be(true)
890
+ @maid.remove_tag(@test_file, "Test")
891
+ expect(@maid.contains_tag?(@test_file, "Test")).to be(false)
892
+ end
893
+ end
894
+ end
895
+
896
+ describe '#set_tag' do
897
+ before do
898
+ @test_file = (@test_dir = '~/.maid/test/') + (@file_name = 'tag.zip')
899
+ `mkdir -p #{@test_dir}`
900
+ `touch #{@test_file}`
901
+ @maid.file_options[:noop] = false
902
+ end
903
+
904
+ after do
905
+ `rm -r #{@test_dir}`
906
+ @maid.file_options[:noop] = true
907
+ end
908
+
909
+ it 'Set Test tags to a file' do
910
+ if system("which -s tag")
911
+ @maid.set_tag(@test_file, "Test")
912
+ expect(@maid.contains_tag?(@test_file, "Test")).to be(true)
913
+ @maid.set_tag(@test_file, ["Test", "Twice"])
914
+ expect(@maid.contains_tag?(@test_file, "Test")).to be(true)
915
+ expect(@maid.contains_tag?(@test_file, "Twice")).to be(true)
916
+ end
917
+ end
918
+ end
774
919
  end
775
920
  end
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
5
- prerelease:
4
+ version: 0.8.0.alpha.1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Benjamin Oakes
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-28 00:00:00.000000000 Z
12
+ date: 2015-04-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: escape
16
- requirement: &10942860 !ruby/object:Gem::Requirement
16
+ requirement: &6312460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -24,10 +24,10 @@ dependencies:
24
24
  version: 0.1.0
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *10942860
27
+ version_requirements: *6312460
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: thor
30
- requirement: &10960780 !ruby/object:Gem::Requirement
30
+ requirement: &6307360 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -38,10 +38,10 @@ dependencies:
38
38
  version: 1.0.0
39
39
  type: :runtime
40
40
  prerelease: false
41
- version_requirements: *10960780
41
+ version_requirements: *6307360
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: deprecated
44
- requirement: &10981960 !ruby/object:Gem::Requirement
44
+ requirement: &6305140 !ruby/object:Gem::Requirement
45
45
  none: false
46
46
  requirements:
47
47
  - - ~>
@@ -49,10 +49,10 @@ dependencies:
49
49
  version: 3.0.0
50
50
  type: :runtime
51
51
  prerelease: false
52
- version_requirements: *10981960
52
+ version_requirements: *6305140
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: dimensions
55
- requirement: &10979360 !ruby/object:Gem::Requirement
55
+ requirement: &6303640 !ruby/object:Gem::Requirement
56
56
  none: false
57
57
  requirements:
58
58
  - - ! '>='
@@ -63,10 +63,10 @@ dependencies:
63
63
  version: '2.0'
64
64
  type: :runtime
65
65
  prerelease: false
66
- version_requirements: *10979360
66
+ version_requirements: *6303640
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: mime-types
69
- requirement: &10976100 !ruby/object:Gem::Requirement
69
+ requirement: &6300180 !ruby/object:Gem::Requirement
70
70
  none: false
71
71
  requirements:
72
72
  - - ~>
@@ -74,10 +74,10 @@ dependencies:
74
74
  version: '2.0'
75
75
  type: :runtime
76
76
  prerelease: false
77
- version_requirements: *10976100
77
+ version_requirements: *6300180
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: rubyzip
80
- requirement: &10990880 !ruby/object:Gem::Requirement
80
+ requirement: &6299560 !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
83
83
  - - ~>
@@ -85,10 +85,10 @@ dependencies:
85
85
  version: 1.1.0
86
86
  type: :runtime
87
87
  prerelease: false
88
- version_requirements: *10990880
88
+ version_requirements: *6299560
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: xdg
91
- requirement: &10989700 !ruby/object:Gem::Requirement
91
+ requirement: &6298260 !ruby/object:Gem::Requirement
92
92
  none: false
93
93
  requirements:
94
94
  - - ~>
@@ -96,10 +96,10 @@ dependencies:
96
96
  version: 2.2.3
97
97
  type: :runtime
98
98
  prerelease: false
99
- version_requirements: *10989700
99
+ version_requirements: *6298260
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: listen
102
- requirement: &10987680 !ruby/object:Gem::Requirement
102
+ requirement: &6296740 !ruby/object:Gem::Requirement
103
103
  none: false
104
104
  requirements:
105
105
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: 2.11.0
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *10987680
113
+ version_requirements: *6296740
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rufus-scheduler
116
- requirement: &10985200 !ruby/object:Gem::Requirement
116
+ requirement: &6295240 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 3.0.6
122
122
  type: :runtime
123
123
  prerelease: false
124
- version_requirements: *10985200
124
+ version_requirements: *6295240
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: exifr
127
- requirement: &10983060 !ruby/object:Gem::Requirement
127
+ requirement: &6293880 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ~>
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: 1.2.0
133
133
  type: :runtime
134
134
  prerelease: false
135
- version_requirements: *10983060
135
+ version_requirements: *6293880
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: geocoder
138
- requirement: &11006360 !ruby/object:Gem::Requirement
138
+ requirement: &6292380 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ~>
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: 1.2.0
144
144
  type: :runtime
145
145
  prerelease: false
146
- version_requirements: *11006360
146
+ version_requirements: *6292380
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: fakefs
149
- requirement: &11005300 !ruby/object:Gem::Requirement
149
+ requirement: &6290640 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ~>
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: 0.4.3
155
155
  type: :development
156
156
  prerelease: false
157
- version_requirements: *11005300
157
+ version_requirements: *6290640
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: guard
160
- requirement: &11004340 !ruby/object:Gem::Requirement
160
+ requirement: &6289200 !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - ~>
@@ -165,10 +165,10 @@ dependencies:
165
165
  version: 2.12.5
166
166
  type: :development
167
167
  prerelease: false
168
- version_requirements: *11004340
168
+ version_requirements: *6289200
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: guard-rspec
171
- requirement: &11001040 !ruby/object:Gem::Requirement
171
+ requirement: &6287740 !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
174
174
  - - ~>
@@ -176,10 +176,10 @@ dependencies:
176
176
  version: 4.5.0
177
177
  type: :development
178
178
  prerelease: false
179
- version_requirements: *11001040
179
+ version_requirements: *6287740
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: rake
182
- requirement: &11032920 !ruby/object:Gem::Requirement
182
+ requirement: &6286640 !ruby/object:Gem::Requirement
183
183
  none: false
184
184
  requirements:
185
185
  - - ~>
@@ -187,10 +187,10 @@ dependencies:
187
187
  version: 10.4.2
188
188
  type: :development
189
189
  prerelease: false
190
- version_requirements: *11032920
190
+ version_requirements: *6286640
191
191
  - !ruby/object:Gem::Dependency
192
192
  name: redcarpet
193
- requirement: &11039280 !ruby/object:Gem::Requirement
193
+ requirement: &6285780 !ruby/object:Gem::Requirement
194
194
  none: false
195
195
  requirements:
196
196
  - - ~>
@@ -198,10 +198,10 @@ dependencies:
198
198
  version: 3.2.2
199
199
  type: :development
200
200
  prerelease: false
201
- version_requirements: *11039280
201
+ version_requirements: *6285780
202
202
  - !ruby/object:Gem::Dependency
203
203
  name: rspec
204
- requirement: &11056760 !ruby/object:Gem::Requirement
204
+ requirement: &6284440 !ruby/object:Gem::Requirement
205
205
  none: false
206
206
  requirements:
207
207
  - - ~>
@@ -209,10 +209,10 @@ dependencies:
209
209
  version: 3.2.0
210
210
  type: :development
211
211
  prerelease: false
212
- version_requirements: *11056760
212
+ version_requirements: *6284440
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: timecop
215
- requirement: &11055540 !ruby/object:Gem::Requirement
215
+ requirement: &6282200 !ruby/object:Gem::Requirement
216
216
  none: false
217
217
  requirements:
218
218
  - - ~>
@@ -220,10 +220,10 @@ dependencies:
220
220
  version: 0.7.0
221
221
  type: :development
222
222
  prerelease: false
223
- version_requirements: *11055540
223
+ version_requirements: *6282200
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: yard
226
- requirement: &11074300 !ruby/object:Gem::Requirement
226
+ requirement: &6274480 !ruby/object:Gem::Requirement
227
227
  none: false
228
228
  requirements:
229
229
  - - ~>
@@ -231,10 +231,10 @@ dependencies:
231
231
  version: 0.8.4
232
232
  type: :development
233
233
  prerelease: false
234
- version_requirements: *11074300
234
+ version_requirements: *6274480
235
235
  - !ruby/object:Gem::Dependency
236
236
  name: rb-inotify
237
- requirement: &11067880 !ruby/object:Gem::Requirement
237
+ requirement: &6270600 !ruby/object:Gem::Requirement
238
238
  none: false
239
239
  requirements:
240
240
  - - ~>
@@ -242,10 +242,10 @@ dependencies:
242
242
  version: 0.9.0
243
243
  type: :development
244
244
  prerelease: false
245
- version_requirements: *11067880
245
+ version_requirements: *6270600
246
246
  - !ruby/object:Gem::Dependency
247
247
  name: rb-fsevent
248
- requirement: &11089020 !ruby/object:Gem::Requirement
248
+ requirement: &6267620 !ruby/object:Gem::Requirement
249
249
  none: false
250
250
  requirements:
251
251
  - - ~>
@@ -253,7 +253,7 @@ dependencies:
253
253
  version: 0.9.2
254
254
  type: :development
255
255
  prerelease: false
256
- version_requirements: *11089020
256
+ version_requirements: *6267620
257
257
  description: Be lazy. Let Maid clean up after you, based on rules you define. Think
258
258
  of it as "Hazel for hackers".
259
259
  email:
@@ -311,7 +311,7 @@ files:
311
311
  - spec/fixtures/files/ruby.jpg
312
312
  - spec/fixtures/files/sydney.jpg
313
313
  - spec/fixtures/files/unknown.foo
314
- - spec/fixtures/files/さ.zip
314
+ - ! "spec/fixtures/files/ã\x81\x95.zip"
315
315
  - spec/lib/maid/app_spec.rb
316
316
  - spec/lib/maid/maid_spec.rb
317
317
  - spec/lib/maid/numeric_extensions_spec.rb
@@ -340,9 +340,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
340
340
  required_rubygems_version: !ruby/object:Gem::Requirement
341
341
  none: false
342
342
  requirements:
343
- - - ! '>='
343
+ - - ! '>'
344
344
  - !ruby/object:Gem::Version
345
- version: '0'
345
+ version: 1.3.1
346
346
  requirements: []
347
347
  rubyforge_project: maid
348
348
  rubygems_version: 1.8.11