Sha256: 451884e3ded4e7660e1d57b1d2858fa1232a471a126dc3654f40b187842637b6
Contents?: true
Size: 1.11 KB
Versions: 7
Compression:
Stored size: 1.11 KB
Contents
require 'socket' module Skein::Support # == Module Methods ======================================================= def self.hostname Socket.gethostname end def self.process_name $0.split(/\s/).first.split('/').last.sub(/\.rb\z/, '') end def self.process_id Process.pid end def self.arrayify(value) case (value) when nil nil when Array value else [ value ] end end 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 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 end
Version data entries
7 entries across 7 versions & 1 rubygems