module BsdWtf
Constants
- VERSION
Public Class Methods
wtf(acronyms = [])
click to toggle source
# File lib/bsd_wtf.rb, line 7 def self.wtf(acronyms = []) _do_wtf(_get_wtf, acronyms) end
Private Class Methods
_do_wtf(wtf=_get_wtf, acronyms=[])
click to toggle source
# File lib/bsd_wtf.rb, line 13 def self._do_wtf(wtf=_get_wtf, acronyms=[]) wtf_cmd = wtf + ' ' + Array(acronyms).join(' ') stdout_str, stderr_str, status = Open3.capture3(wtf_cmd) if status.success? _process_wtf(stdout_str) else raise StandardError.new(stderr_str.chomp) end end
_get_wtf()
click to toggle source
# File lib/bsd_wtf.rb, line 25 def self._get_wtf results = Whiches.whiches("wtf") if results results[0] else raise StandardError.new("unable to find 'wtf' in path") end end
_process_wtf(raw='')
click to toggle source
# File lib/bsd_wtf.rb, line 35 def self._process_wtf(raw='') result = { :success => [], :failure => [], } raw.chomp.split("\n").each do |line| acronym, definition = line.split(':', 2) /nothing appropriate/ =~ definition if Regexp.last_match.nil? result[:success].push({:acronym => acronym, :definition => definition.strip}) else result[:failure].push(acronym) end end result end