summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/oxidized/input/cli.rb2
-rw-r--r--lib/oxidized/model/model.rb25
2 files changed, 9 insertions, 18 deletions
diff --git a/lib/oxidized/input/cli.rb b/lib/oxidized/input/cli.rb
index 30a66f4..1d58e85 100644
--- a/lib/oxidized/input/cli.rb
+++ b/lib/oxidized/input/cli.rb
@@ -9,7 +9,7 @@ module Oxidized
def get
@post_login.each { |command| cmd command }
- d = @node.model.cmds
+ d = @node.model.get
disconnect
d
end
diff --git a/lib/oxidized/model/model.rb b/lib/oxidized/model/model.rb
index a0717cf..fb27143 100644
--- a/lib/oxidized/model/model.rb
+++ b/lib/oxidized/model/model.rb
@@ -38,10 +38,12 @@ module Oxidized
attr_accessor :input
- def cmd string
+ def cmd string, &block
out = @input.cmd string
- out = cmd_all out
- out = yield out if block_given?
+ self.class.cmds[:all].each do |all_block|
+ out = instance_exec out, &all_block
+ end
+ out = instance_exec out, &block if block
out
end
@@ -53,13 +55,10 @@ module Oxidized
self.class.prompt
end
- def cmds
+ def get
data = ''
- self.class.cmds[:cmd].each do |cmd, cmd_block|
- out = @input.cmd cmd
- out = cmd_all out
- out = instance_exec out, &cmd_block if cmd_block
- data << out.to_s
+ self.class.cmds[:cmd].each do |command, block|
+ data << (cmd command, &block).to_s
end
data << main.to_s if respond_to? :main
data
@@ -73,13 +72,5 @@ module Oxidized
data
end
- private
-
- def cmd_all string
- self.class.cmds[:all].each do |block|
- string = instance_exec string, &block
- end
- string
- end
end
end