Module: Utils
- Included in:
- Case, CaseManager
- Defined in:
- lib/teuton/case_manager/utils.rb
Overview
Define general use methods
Instance Method Summary collapse
- #encode_and_split(encoding, text) ⇒ Object
-
#ensure_dir(dirname) ⇒ Object
Create the directory if it dosn’t exist.
- #my_execute(cmd, encoding = 'UTF-8') ⇒ Object
- #verbose(text) ⇒ Object
- #verboseln(text) ⇒ Object
Instance Method Details
#encode_and_split(encoding, text) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/teuton/case_manager/utils.rb', line 16 def encode_and_split(encoding, text) # Convert text to UTF-8 deleting unknown chars text = text || '' # Ensure text is not nil flag = [:default, 'UTF-8'].include? encoding return text.encode('UTF-8', invalid: :replace).split("\n") if flag # Convert text from input ENCODING to UTF-8 ec = Encoding::Converter.new(encoding.to_s, 'UTF-8') begin text = ec.convert(text) rescue StandardError => e puts "[ERROR] #{e}: Declare text encoding..." puts " goto :host, :exec => 'command', :encoding => 'ISO-8859-1'" end text.split("\n") end |
#ensure_dir(dirname) ⇒ Object
Create the directory if it dosn’t exist.
8 9 10 11 12 13 14 |
# File 'lib/teuton/case_manager/utils.rb', line 8 def ensure_dir(dirname) unless Dir.exist?(dirname) FileUtils.mkdir_p(dirname) return false end true end |
#my_execute(cmd, encoding = 'UTF-8') ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/teuton/case_manager/utils.rb', line 34 def my_execute(cmd, encoding = 'UTF-8') return { exitstatus: 0, content: '' } if Application.instance.debug begin text = `#{cmd}` exitstatus = $CHILD_STATUS.exitstatus rescue StandardError => e # rescue Exception => e verbose '!' puts("[ERROR] #{e}: Local exec: #{cmd}") end content = encode_and_split(encoding, text) { exitstatus: exitstatus, content: content } end |
#verbose(text) ⇒ Object
52 53 54 55 56 |
# File 'lib/teuton/case_manager/utils.rb', line 52 def verbose(text) return if Application.instance.quiet? print text end |
#verboseln(text) ⇒ Object
48 49 50 |
# File 'lib/teuton/case_manager/utils.rb', line 48 def verboseln(text) verbose(text + "\n") end |