summaryrefslogtreecommitdiff
path: root/lib/oxidized/model
diff options
context:
space:
mode:
authorSaku Ytti <saku@ytti.fi>2014-08-13 15:12:09 +0300
committerSaku Ytti <saku@ytti.fi>2014-08-13 15:12:09 +0300
commita0115f27c17317cb9d2a2e4012cdbbb88b987063 (patch)
treeab0d310b914dcf524d421732b329002e6c42aa8e /lib/oxidized/model
parentef1735ffdadb10371036989b10756d341b64d292 (diff)
fix pre/post blocks
Diffstat (limited to 'lib/oxidized/model')
-rw-r--r--lib/oxidized/model/model.rb8
-rw-r--r--lib/oxidized/model/outputs.rb4
2 files changed, 8 insertions, 4 deletions
diff --git a/lib/oxidized/model/model.rb b/lib/oxidized/model/model.rb
index 7258912..d3f54b9 100644
--- a/lib/oxidized/model/model.rb
+++ b/lib/oxidized/model/model.rb
@@ -127,16 +127,16 @@ module Oxidized
def get
outputs = Outputs.new
procs = self.class.procs
- procs[:pre].each do |pre_proc|
- outputs << instance_eval(&pre_proc)
- end
self.class.cmds[:cmd].each do |command, block|
out = cmd command, &block
return false unless out
outputs << out
end
+ procs[:pre].each do |pre_proc|
+ outputs.unshift Oxidized::String.new(instance_eval(&pre_proc))
+ end
procs[:post].each do |post_proc|
- outputs << instance_eval(&post_proc)
+ outputs << Oxidized::String.new(instance_eval(&post_proc))
end
outputs
end
diff --git a/lib/oxidized/model/outputs.rb b/lib/oxidized/model/outputs.rb
index 10015f8..a668e9d 100644
--- a/lib/oxidized/model/outputs.rb
+++ b/lib/oxidized/model/outputs.rb
@@ -14,6 +14,10 @@ module Oxidized
@outputs << output
end
+ def unshift output
+ @outputs.unshift output
+ end
+
def all
@outputs
end