guard-copy 0.0.3 → 0.0.4

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/lib/guard/copy.rb CHANGED
@@ -29,24 +29,9 @@ module Guard
29
29
  validate_from_is_directory
30
30
  validate_presence_of(:to)
31
31
  validate_to_does_not_include_from
32
- @targets.each do |target|
33
- unless target.resolve
34
- UI.warning("Guard::Copy - '#{target.pattern}' does not match a valid directory")
35
- end
36
- end
37
- if target_paths.any?
38
- UI.info("Guard::Copy will copy files from:")
39
- UI.info(" #{options[:from]}")
40
- UI.info("to:")
41
- target_paths.each { |target_path| UI.info(" #{target_path}") }
42
-
43
- if options[:delete]
44
- UI.info("Guard::Copy will delete files removed from:")
45
- UI.info(" #{options[:from]}")
46
- UI.info("from:")
47
- target_paths.each { |target_path| UI.info(" #{target_path}") }
48
- end
49
- end
32
+ resolve_targets
33
+ validate_no_targets_are_files
34
+ display_target_paths
50
35
  end
51
36
 
52
37
  # Called when just `enter` is pressed
@@ -157,5 +142,38 @@ module Guard
157
142
  end
158
143
  end
159
144
 
145
+ def resolve_targets
146
+ @targets.each do |target|
147
+ unless target.resolve
148
+ UI.warning("Guard::Copy - '#{target.pattern}' does not match a valid directory")
149
+ end
150
+ end
151
+ end
152
+
153
+ def validate_no_targets_are_files
154
+ target_paths.each do |path|
155
+ if File.file?(path)
156
+ UI.error('Guard::Copy - :to option contains a file and must be all directories')
157
+ throw :task_has_failed
158
+ end
159
+ end
160
+ end
161
+
162
+ def display_target_paths
163
+ if target_paths.any?
164
+ UI.info("Guard::Copy will copy files from:")
165
+ UI.info(" #{options[:from]}")
166
+ UI.info("to:")
167
+ target_paths.each { |target_path| UI.info(" #{target_path}") }
168
+
169
+ if options[:delete]
170
+ UI.info("Guard::Copy will delete files removed from:")
171
+ UI.info(" #{options[:from]}")
172
+ UI.info("from:")
173
+ target_paths.each { |target_path| UI.info(" #{target_path}") }
174
+ end
175
+ end
176
+ end
177
+
160
178
  end
161
179
  end
@@ -1,5 +1,5 @@
1
1
  module Guard
2
2
  module CopyVersion
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guard-copy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
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: 2012-06-24 00:00:00.000000000 Z
12
+ date: 2012-06-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: guard
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.1.1
21
+ version: '1.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 1.1.1
29
+ version: '1.1'
30
30
  description: Guard::Copy automatically copies files.
31
31
  email:
32
32
  - marc.schwieterman@gmail.com
@@ -54,7 +54,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
54
54
  version: '0'
55
55
  segments:
56
56
  - 0
57
- hash: 1790192604358185863
57
+ hash: 7137334980115499
58
58
  required_rubygems_version: !ruby/object:Gem::Requirement
59
59
  none: false
60
60
  requirements:
@@ -63,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
63
  version: '0'
64
64
  segments:
65
65
  - 0
66
- hash: 1790192604358185863
66
+ hash: 7137334980115499
67
67
  requirements: []
68
68
  rubyforge_project:
69
69
  rubygems_version: 1.8.24