rake-funnel 0.13.0.pre → 0.14.0.pre

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e8fe1d5ba571b7e3c6abff354c6a44d8dffb3925
4
- data.tar.gz: a3f2c7cbb7f18abe899b64384de09b7042e63594
3
+ metadata.gz: 2df90b7f521cea1310f24ab8c866e96ec3e81748
4
+ data.tar.gz: bf9598bfb25bcc2e4a87f20ff62041e085b48b5c
5
5
  SHA512:
6
- metadata.gz: a811c83c26d45036d0fac85274b8ffa4b1889fbdbbd29fbd36ebc4a9ee66d93d3317bc1aa38b8faf006674f98541347f25a0a1796aa8c8117ca20fdd0ac5b9af
7
- data.tar.gz: 650c8a4b653b4be4e238cb7b16042287c0f7bbc6c8e4138b9e2c98c06c83b2e72a3bf63e4fdf7b9feeab2cc770c7f4c980eec95e4c645395d723b74916dcab07
6
+ metadata.gz: 1e655ab8137fe6a2f23d3a118981a47faeb5791831b59adf00298d3cac5948e1c3e7a16b76a30a82720a29757c50ba599e9ca61f8bac8a8388ab3b7feef59953
7
+ data.tar.gz: 43b3c6c3570549b05dd48f2f882bbbb017601041d1346487afdddf7164960ea5eae6c0c3598b18aa872c7b3c18155db48b447b1623e4297778c305ed74cba822
@@ -6,7 +6,7 @@ module Rake
6
6
  class Zip < Rake::TaskLib
7
7
  include Rake::Funnel::Support
8
8
 
9
- attr_accessor :name, :source, :target, :zip_root
9
+ attr_accessor :name, :source, :target, :zip_root, :allow_empty
10
10
 
11
11
  def initialize(*args, &task_block)
12
12
  setup_ivars(args)
@@ -21,6 +21,7 @@ module Rake
21
21
  @source = []
22
22
  @target = nil
23
23
  @zip_root = nil
24
+ @allow_empty = true
24
25
  end
25
26
 
26
27
  def define(args, &task_block)
@@ -29,6 +30,11 @@ module Rake
29
30
  task(name, *args) do |_, task_args|
30
31
  task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
31
32
 
33
+ if files.empty? && !allow_empty
34
+ Rake.rake_output_message('No files to zip')
35
+ next
36
+ end
37
+
32
38
  Zipper.zip(files, target, zip_root)
33
39
 
34
40
  Rake.rake_output_message("Created #{target}")
@@ -1,5 +1,5 @@
1
1
  module Rake
2
2
  module Funnel
3
- VERSION = '0.13.0.pre'
3
+ VERSION = '0.14.0.pre'
4
4
  end
5
5
  end
@@ -11,6 +11,7 @@ describe Rake::Funnel::Tasks::Zip do
11
11
  its(:source) { should eq([]) }
12
12
  its(:target) { should be_nil }
13
13
  its(:zip_root) { should be_nil }
14
+ its(:allow_empty) { should eq(true) }
14
15
  end
15
16
 
16
17
  describe 'execution' do
@@ -46,5 +47,46 @@ describe Rake::Funnel::Tasks::Zip do
46
47
  it 'should report the created zip file' do
47
48
  expect(Rake).to have_received(:rake_output_message).with("Created #{subject.target}")
48
49
  end
50
+
51
+ describe '#allow_empty' do
52
+ subject {
53
+ described_class.new do |t|
54
+ t.source = source
55
+ t.target = 'some path/file.zip'
56
+ t.zip_root = 'zip root'
57
+ t.allow_empty = allow_empty
58
+ end
59
+ }
60
+
61
+ context 'empty allowed with empty file list' do
62
+ let(:source) { [] }
63
+ let(:allow_empty) { true }
64
+
65
+ before {
66
+ Task[subject.name].invoke
67
+ }
68
+
69
+ it 'should invoker Zipper' do
70
+ expect(Zipper).to have_received(:zip)
71
+ end
72
+ end
73
+
74
+ context 'empty not allowed with empty file list' do
75
+ let(:source) { [] }
76
+ let(:allow_empty) { false }
77
+
78
+ before {
79
+ Task[subject.name].invoke
80
+ }
81
+
82
+ it 'should not invoker Zipper' do
83
+ expect(Zipper).not_to have_received(:zip)
84
+ end
85
+
86
+ it 'should warn' do
87
+ expect(Rake).to have_received(:rake_output_message).with('No files to zip')
88
+ end
89
+ end
90
+ end
49
91
  end
50
92
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-funnel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0.pre
4
+ version: 0.14.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Groß
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-26 00:00:00.000000000 Z
11
+ date: 2015-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake