Method: Oxidized::Model#cmd

Defined in:
lib/oxidized/model/model.rb

#cmd(string, &block) ⇒ Object



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/oxidized/model/model.rb', line 101

def cmd string, &block
  Oxidized.logger.debug "lib/oxidized/model/model.rb Executing #{string}"
  out = @input.cmd(string)
  return false unless out
  out = out.b unless Oxidized.config.input.utf8_encoded?
  self.class.cmds[:all].each do |all_block|
    out = instance_exec Oxidized::String.new(out), string, &all_block
  end
  if vars :remove_secret
    self.class.cmds[:secret].each do |all_block|
      out = instance_exec Oxidized::String.new(out), string, &all_block
    end
  end
  out = instance_exec Oxidized::String.new(out), &block if block
  process_cmd_output out, string
end