rake_factory 0.7.0 → 0.8.0

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
  SHA256:
3
- metadata.gz: c815db5da66495882fbc92d46432c5dedbe24691a2fca240b160cf6f7b9d9154
4
- data.tar.gz: 11719ce245bc8895a95bbb19f3a909230ca806117c535ade77f4860b32cdb414
3
+ metadata.gz: 9579e888ed3251464ba35e60eef65e321bc1aca3ea185d2695c5db89d4954f3a
4
+ data.tar.gz: 1b157b4015b677edb168f5ee76d3eb3c91ade8fe55f1c2ad175db2d412c0c1a7
5
5
  SHA512:
6
- metadata.gz: 351eb6ae9bbb386a7f010260675172a6c2497277bb29c933227acd23f36c75e2be19534eb33322edde8660a3785c0de0d88882d9bd7102d25ef0904fd1230bcf
7
- data.tar.gz: b66ef640012fb6f1030af864589ccc14bc50a6f4c96cec7979e7928ff49f44045a4e2f8add3fc38146637950368e277a3dbf21c558ab8f4a91fc356ef86051c2
6
+ metadata.gz: 78aa79ba6fa71989036f8bedddd047ec8d6739a448d3827ef4389e26b54bdc267827f75b97a3403e99a74d443c2d3cdacfe811d6ddd1175bb0a37da5b07993cc
7
+ data.tar.gz: fd4e0646e5425868fd3fed5d00ac32c0c6feef60681fe16fefde36473489934b1e5f8c603022f253c4a96aec95d3c5be6f2d33123cf24cd85fda90626026d3ab
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_factory (0.7.0)
4
+ rake_factory (0.8.0)
5
5
  activesupport (~> 5.2)
6
6
  rake (~> 13.0)
7
7
 
@@ -18,10 +18,10 @@ GEM
18
18
  docile (1.3.2)
19
19
  fakefs (0.20.1)
20
20
  gem-release (2.1.1)
21
- i18n (1.7.0)
21
+ i18n (1.8.2)
22
22
  concurrent-ruby (~> 1.0)
23
23
  json (2.3.0)
24
- minitest (5.13.0)
24
+ minitest (5.14.0)
25
25
  rake (13.0.1)
26
26
  rspec (3.9.0)
27
27
  rspec-core (~> 3.9.0)
@@ -0,0 +1,29 @@
1
+ module RakeFactory
2
+ module Namespaceable
3
+ def self.prepended(base)
4
+ super(base)
5
+ base.class_eval do
6
+ parameter(:namespace,
7
+ transform: lambda { |name|
8
+ name = name.to_s if name.kind_of?(Symbol)
9
+ name = name.to_str if name.respond_to?(:to_str)
10
+ unless name.kind_of?(String) || name.nil?
11
+ raise ArgumentError,
12
+ "Expected a String or Symbol for a namespace name"
13
+ end
14
+ name
15
+ })
16
+ end
17
+ end
18
+
19
+ def around_define(application)
20
+ if namespace
21
+ application.in_namespace(namespace) do
22
+ super(application)
23
+ end
24
+ else
25
+ super(application)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -24,14 +24,20 @@ module RakeFactory
24
24
 
25
25
  def define_on(application)
26
26
  invoke_configuration_block
27
- self.class.tasks.each do |task_definition|
28
- task_definition
29
- .for_task_set(self)
30
- .define_on(application)
27
+ around_define(application) do
28
+ self.class.tasks.each do |task_definition|
29
+ task_definition
30
+ .for_task_set(self)
31
+ .define_on(application)
32
+ end
31
33
  end
32
34
  self
33
35
  end
34
36
 
37
+ def around_define(application)
38
+ yield
39
+ end
40
+
35
41
  private
36
42
 
37
43
  class TaskArguments
@@ -1,3 +1,3 @@
1
1
  module RakeFactory
2
- VERSION = '0.7.0'
2
+ VERSION = '0.8.0'
3
3
  end
data/lib/rake_factory.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'rake_factory/version'
2
2
  require 'rake_factory/task'
3
3
  require 'rake_factory/task_set'
4
+ require 'rake_factory/namespaceable'
4
5
 
5
6
  module RakeFactory
6
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-14 00:00:00.000000000 Z
11
+ date: 2020-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -150,6 +150,7 @@ files:
150
150
  - lib/rake_factory/defaults.rb
151
151
  - lib/rake_factory/definable.rb
152
152
  - lib/rake_factory/exceptions.rb
153
+ - lib/rake_factory/namespaceable.rb
153
154
  - lib/rake_factory/parameter.rb
154
155
  - lib/rake_factory/parameter_set.rb
155
156
  - lib/rake_factory/parameter_view.rb