mattock 0.2.11 → 0.2.12
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/mattock/configurable.rb +18 -0
- data/lib/mattock/template-host.rb +26 -5
- data/lib/mattock/yard_extensions.rb +2 -2
- metadata +10 -10
data/lib/mattock/configurable.rb
CHANGED
@@ -91,6 +91,20 @@ module Mattock
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
+
def to_hash(obj)
|
95
|
+
hash = if Configurable > superclass
|
96
|
+
superclass.to_hash(obj)
|
97
|
+
else
|
98
|
+
{}
|
99
|
+
end
|
100
|
+
hash.merge( Hash[default_values.keys.zip(default_values.keys.map{|key|
|
101
|
+
begin
|
102
|
+
obj.__send__(key)
|
103
|
+
rescue NoMethodError
|
104
|
+
end
|
105
|
+
}).to_a])
|
106
|
+
end
|
107
|
+
|
94
108
|
#Creates an anonymous Configurable - useful in complex setups for nested
|
95
109
|
#settings
|
96
110
|
#@example SSH options
|
@@ -151,6 +165,10 @@ module Mattock
|
|
151
165
|
self
|
152
166
|
end
|
153
167
|
|
168
|
+
def to_hash
|
169
|
+
self.class.to_hash(self)
|
170
|
+
end
|
171
|
+
|
154
172
|
#Call during initialize to set default values on settings - if you're using
|
155
173
|
#Configurable outside of Mattock, be sure this gets called.
|
156
174
|
def setup_defaults
|
@@ -42,17 +42,38 @@ module Mattock
|
|
42
42
|
attr_accessor :valise
|
43
43
|
|
44
44
|
def find_template(path)
|
45
|
-
valise.find(["templates"] + valise.unpath(path))
|
45
|
+
valise.find(["templates"] + valise.unpath(path))
|
46
46
|
end
|
47
47
|
|
48
|
-
def
|
48
|
+
def template_contents(path)
|
49
|
+
find_template(path).contents
|
50
|
+
end
|
51
|
+
|
52
|
+
def template_path(path)
|
53
|
+
find_template(path).full_path
|
54
|
+
end
|
55
|
+
|
56
|
+
def render(path, template_options = nil)
|
49
57
|
template = TemplateHost::template_cache.fetch(path) do
|
50
|
-
Tilt.new(path) do |tmpl|
|
51
|
-
|
58
|
+
Tilt.new(path, template_options || {}) do |tmpl|
|
59
|
+
template_contents(tmpl.file)
|
52
60
|
end
|
53
61
|
end
|
54
62
|
|
55
|
-
template.render(self
|
63
|
+
template.render(self)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
module TemplateTaskLib
|
68
|
+
include TemplateHost
|
69
|
+
|
70
|
+
def template_task(template_source, destination_path, template_options = nil)
|
71
|
+
file template_path(template_source)
|
72
|
+
file destination_path => template_path(template_source) do
|
73
|
+
File::open(destination_path, "w") do |file|
|
74
|
+
file.write(render(template_source, template_options))
|
75
|
+
end
|
76
|
+
end
|
56
77
|
end
|
57
78
|
end
|
58
79
|
end
|
@@ -13,7 +13,7 @@ module Mattock
|
|
13
13
|
return true if [:CascadingDefinition, :Configurable, :Tasklib, :TaskLib].include? co.name and method == "define"
|
14
14
|
return true if [:TaskMixin, :Task, :FileTask, :MultiTask].include? co.name and method == "action"
|
15
15
|
end
|
16
|
-
check_list = check_list.find_all{|co| co.respond_to?(:mixins)}.map{|co| co.mixins}.flatten
|
16
|
+
check_list = (check_list.find_all{|co| co.respond_to?(:mixins)}||[]).map{|co| co.mixins}.flatten
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -90,7 +90,7 @@ module Mattock
|
|
90
90
|
|
91
91
|
value = statement.parameters(false)[1]
|
92
92
|
if !value.nil? and value.type == :fcall and value.jump(:ident)[0] == "nested"
|
93
|
-
remapped = value.parameters
|
93
|
+
remapped = (value.parameters.first||[]).map do |assoc|
|
94
94
|
new_name =
|
95
95
|
append_name(statement.parameters[0], extract_name(assoc[0]))
|
96
96
|
synthetic_setting(new_name, assoc[1])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mattock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.12
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: corundum
|
16
|
-
requirement: &
|
16
|
+
requirement: &71422620 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.0.1
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *71422620
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: valise
|
27
|
-
requirement: &
|
27
|
+
requirement: &71421560 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0.6'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *71421560
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: tilt
|
38
|
-
requirement: &
|
38
|
+
requirement: &71545240 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>'
|
@@ -45,7 +45,7 @@ dependencies:
|
|
45
45
|
- 0
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *71545240
|
49
49
|
description: ! " If Rake won't do it by itself, you oughtta Mattock.\n\n If you
|
50
50
|
survived the pun, you might enjoy this gem.\n\n Features:\n\n * Extensions to
|
51
51
|
Tasklibs to support powerful deerpaths.\n * A commandline library that supports
|
@@ -98,7 +98,7 @@ rdoc_options:
|
|
98
98
|
- --main
|
99
99
|
- doc/README
|
100
100
|
- --title
|
101
|
-
- mattock-0.2.
|
101
|
+
- mattock-0.2.12 RDoc
|
102
102
|
require_paths:
|
103
103
|
- lib/
|
104
104
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -109,7 +109,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
109
|
version: '0'
|
110
110
|
segments:
|
111
111
|
- 0
|
112
|
-
hash: -
|
112
|
+
hash: -458443345
|
113
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
114
|
none: false
|
115
115
|
requirements:
|