fudge 0.1.2 → 0.2.0
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 +8 -8
- data/lib/fudge/tasks/composite_task.rb +22 -1
- data/lib/fudge/version.rb +1 -1
- data/spec/lib/fudge/tasks/each_directory_spec.rb +13 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NmI5MzM3MjIyMzhkMTA4ODc0N2M2Yzc4YWZhZWNiNmEyNzEzNjkwZg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
N2I3MmZiNDBkMDRiOWE2NjgyM2YxOGY5OThjZWNiNmYzOGM3NjkzMQ==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTFhN2IyZWE2OTlmYzEzNmQ2NGEyMDVkZjQ1ZWI3ZjVhNDQ3Y2YyYzQ3YTQ0
|
10
|
+
NDBkOGE5MzcxOTgyMTNiMDJlMzBjMzlkMWUyNmU5MjE2OWFhN2Y5MGU3Yjc1
|
11
|
+
ZjY2NTk5NWU3ZTE4NDNhMDJhN2NiYzM1MzVjOWU3ZDE4MTQyZjE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZjAwYzMwYzk5NDIxYzU1MzNlYWJkNTIwMGFhY2Y5YTk5MmZmNmI2NWJhZDJh
|
14
|
+
ZDljNThjNGExYzE3OTNkZjgyMjg3MjNkZDAxMjdlMzNhMDRiYzNiMjUxYzhh
|
15
|
+
MjAxZjI1NjcwNjBlNDFiMDUwZDBlNmVhYzk4NWIwMzhkMWE2YjI=
|
@@ -13,14 +13,35 @@ module Fudge
|
|
13
13
|
def run(options={})
|
14
14
|
output = options[:output] || $stdout
|
15
15
|
tasks.each do |t|
|
16
|
+
apply_directory_settings(t)
|
16
17
|
output_message(t, output)
|
17
|
-
|
18
18
|
return unless t.run(options)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
22
|
private
|
23
23
|
|
24
|
+
# load fudge settings for the specified task, by name
|
25
|
+
def apply_directory_settings(task)
|
26
|
+
task.options.merge!(task_options(task.class.name.to_s)) if defined? task.options
|
27
|
+
end
|
28
|
+
|
29
|
+
# Load the fudge_settings.yml for the current directory and return
|
30
|
+
# the options contained for the specified task
|
31
|
+
def task_options(task_name)
|
32
|
+
# are there settings for the specified task?
|
33
|
+
fudge_settings.fetch(task_name, {}).symbolize_keys!
|
34
|
+
end
|
35
|
+
|
36
|
+
# load fudge settings for the current directory
|
37
|
+
def fudge_settings
|
38
|
+
fpath = "#{Dir.pwd}/fudge_settings.yml"
|
39
|
+
if File.exist?(fpath)
|
40
|
+
return YAML.load_file(fpath)
|
41
|
+
end
|
42
|
+
{}
|
43
|
+
end
|
44
|
+
|
24
45
|
def join_arguments(t)
|
25
46
|
t.respond_to?(:args) && t.args ? t.args.join(', ') : ''
|
26
47
|
end
|
data/lib/fudge/version.rb
CHANGED
@@ -54,5 +54,18 @@ describe Fudge::Tasks::EachDirectory do
|
|
54
54
|
task.pwds.sort.should == dirs.sort
|
55
55
|
end
|
56
56
|
|
57
|
+
it "should load fudge_settings.yml in the right directory" do
|
58
|
+
ed2 = described_class.new ['spec/lib']
|
59
|
+
ed2.tasks << Fudge::Tasks::Shell.new('pwd')
|
60
|
+
ed2.run
|
61
|
+
ed2.tasks.first.options[:test].should == 'coverage'
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should not load fudge_settings.yml in the wrong directory" do
|
65
|
+
ed2 = described_class.new ['spec/support']
|
66
|
+
ed2.tasks << Fudge::Tasks::Shell.new('pwd')
|
67
|
+
ed2.run
|
68
|
+
ed2.tasks.first.options.size.should == 0
|
69
|
+
end
|
57
70
|
end
|
58
71
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fudge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sage One team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-05-
|
11
|
+
date: 2013-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|