Method: Oxidized::Model#cmd

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

#cmd(string, &block) ⇒ Object



120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'lib/oxidized/model/model.rb', line 120

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 out, string, &all_block
  end
  if vars :remove_secret
    self.class.cmds[:secret].each do |all_block|
      out = instance_exec out, string, &all_block
    end
  end
  out = instance_exec out, &block if block
  process_cmd_output out, string
end