diff options
author | Saku Ytti <saku@ytti.fi> | 2013-04-21 18:06:02 +0300 |
---|---|---|
committer | Saku Ytti <saku@ytti.fi> | 2013-04-21 18:06:02 +0300 |
commit | 30f2826bbb49fa6d18ba5a8b98c69aeeb984eb30 (patch) | |
tree | 3d7cb90e9b91761727a71f3556bb98936de74b3e /lib/oxidized | |
parent | 4a01f154c1873b898476ff8765ced02c9a916746 (diff) |
Dont reimplement 'cmd', call #cmd from #get
Diffstat (limited to 'lib/oxidized')
-rw-r--r-- | lib/oxidized/input/cli.rb | 2 | ||||
-rw-r--r-- | lib/oxidized/model/model.rb | 25 |
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 |