Module: Skein::Support
- Defined in:
- lib/skein/support.rb
Class Method Summary collapse
- .arrayify(value) ⇒ Object
- .hash_format(hash, width: nil) ⇒ Object
-
.hostname ⇒ Object
Module Methods =======================================================.
- .process_id ⇒ Object
- .process_name ⇒ Object
- .symbolize_keys(hash) ⇒ Object
Class Method Details
.arrayify(value) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/skein/support.rb', line 18 def self.arrayify(value) case (value) when nil nil when Array value else [ value ] end end |
.hash_format(hash, width: nil) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/skein/support.rb', line 29 def self.hash_format(hash, width: nil) hash = hash.to_h width ||= hash.keys.map(&:length).sort[-1].to_i + 1 template = "%%-%ds %%s" % [ width ] hash.map do |pair| template % pair end end |
.hostname ⇒ Object
Module Methods =======================================================
6 7 8 |
# File 'lib/skein/support.rb', line 6 def self.hostname Socket.gethostname end |
.process_id ⇒ Object
14 15 16 |
# File 'lib/skein/support.rb', line 14 def self.process_id Process.pid end |
.process_name ⇒ Object
10 11 12 |
# File 'lib/skein/support.rb', line 10 def self.process_name $0.split(/\s/).first.split('/').last.sub(/\.rb\z/, '') end |
.symbolize_keys(hash) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/skein/support.rb', line 41 def self.symbolize_keys(hash) case (hash) when Hash Hash[ hash.map do |k,v| [ k.to_s.to_sym, case (v) when Hash symbolize_keys(v) when Array v.map { |e| symbolize_keys(e) } else v end ] end ] when Array hash.map do |h| symbolize_keys(h) end else hash end end |