rake-namespace_group 0.0.4 → 0.0.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7959e434504822230b49bc78c3c2cdb5c9233021
4
- data.tar.gz: 1676ba9342c01a21f9422490712a95b460695531
3
+ metadata.gz: f777559e586b26aef5d56ca9c6df3ae3460df8ef
4
+ data.tar.gz: f1989cf27baa1b42810dea610601dc6a48dc885d
5
5
  SHA512:
6
- metadata.gz: fbfe13fa985273acf5f93e546ba1bcb80f6b8c129432d99dbfe98a9345be5f57cbb465cc11263bea0a235ca1f6d6cb3b4ee9f48189a741f259144463c5653872
7
- data.tar.gz: 681f86b5e00553740b63907be2d119fa9878e41a123cac6dd8922ec36432a10add3022350fd192bb67ea351ff93306065c81e47d0cc2ee1494880659f8945016
6
+ metadata.gz: eb6181c732cd80219d952ec062419c62c14e025fce2bf0e9f00632d274bf43d79fc169b5185405a9856699e1f7a13159fbe0ee332a562d0e6e353c19a5347d4c
7
+ data.tar.gz: 10374d8f9743b7e497d1057072b146fe73418989c369c8521963af7f42d75e688ea9b017c8c91cd24022fcfae9bb10fb2e83fa4471d8d63ddae03ec918a9bf48
data/Rakefile CHANGED
@@ -65,3 +65,31 @@ namespace_group :aggregate_failure, :keep_going => true do
65
65
  raise "BAR NO PLAY EITHER"
66
66
  end
67
67
  end
68
+
69
+ namespace_group :exclude_single, :exclude => /^foo$/ do |ns|
70
+ task :foo do |task|
71
+ puts "Namespace 'exclude_single' task 'foo'"
72
+ end
73
+
74
+ task :bar do |task|
75
+ puts "Namespace 'exclude_single' task 'bar'"
76
+ end
77
+ end
78
+
79
+ namespace_group :exclude_multi, :exclude => [/^ignore/, /foo/ ] do
80
+ task :ignore_foo do |task|
81
+ puts "Namespace 'exclude_multi' task 'ignore_foo'"
82
+ end
83
+
84
+ task :ignore_bar do |task|
85
+ puts "Namespace 'exclude_multi' task 'ignore_bar'"
86
+ end
87
+
88
+ task :foo do |task|
89
+ puts "Namespace 'exclude_multi' task 'foo'"
90
+ end
91
+
92
+ task :bar do |task|
93
+ puts "Namespace 'exclude_multi' task 'bar'"
94
+ end
95
+ end
@@ -30,6 +30,7 @@ module Rake
30
30
  options[:arguments] ||= []
31
31
  options[:all] ||= false
32
32
  options[:keep_going] ||= true
33
+ options[:exclude] ||= []
33
34
 
34
35
  ns_name = options[:namespace] || name
35
36
  ns = namespace(ns_name) do
@@ -46,7 +47,18 @@ module Rake
46
47
  tasklist = Rake.application.tasks_in_scope(scope)
47
48
  exception_list = GroupedError.new(ns_name)
48
49
  tasklist.each do |task|
50
+ task_name = task.name.gsub(Regexp.new("^#{ns_name}:"), '')
49
51
  if options[:all] or task.is_a?(Rake::GroupTask)
52
+ skip = false
53
+ [options[:exclude]].flatten.each do |excl|
54
+ if excl.is_a?(Regexp) and task_name =~ excl
55
+ skip = true
56
+ elsif excl.is_a?(String) and task_name == excl
57
+ skip = true
58
+ end
59
+ end
60
+ next if skip
61
+
50
62
  begin
51
63
  task.invoke(*args)
52
64
  rescue Exception => ex
@@ -59,7 +71,7 @@ module Rake
59
71
  end
60
72
  if exception_list.has_exceptions?
61
73
  raise exception_list
62
- end
74
+ end
63
75
  end
64
76
  end
65
77
  end
@@ -1,5 +1,5 @@
1
1
  module Rake
2
2
  module NamespaceGroup
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
@@ -54,4 +54,23 @@ describe 'Rakefile' do
54
54
  end
55
55
  end
56
56
 
57
+ context "exclude_single" do
58
+ it 'should exclude jobs with a single regex' do
59
+ expect($stdout).to receive(:puts).with("Namespace 'exclude_single' task 'bar'")
60
+ expect($stdout).to_not receive(:puts).with("Namespace 'exclude_single' task 'foo'")
61
+ Rake::Task[:exclude_single].invoke
62
+ end
63
+ end
64
+
65
+ context "exclude_multi" do
66
+ it 'should exclude jobs with multiple regexes given' do
67
+ expect($stdout).to receive(:puts).with("Namespace 'exclude_multi' task 'bar'")
68
+ expect($stdout).to_not receive(:puts).with("Namespace 'exclude_multi' task 'foo'")
69
+ expect($stdout).to_not receive(:puts).with("Namespace 'exclude_multi' task 'ignore_bar'")
70
+ expect($stdout).to_not receive(:puts).with("Namespace 'exclude_multi' task 'ignore_foo'")
71
+
72
+ Rake::Task[:exclude_multi].invoke
73
+ end
74
+ end
75
+
57
76
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-namespace_group
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Vansteenkiste
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-15 00:00:00.000000000 Z
11
+ date: 2015-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake