Sha256: 645a5c852b68e1307115c2d44b5e5dd0cad1bbbce964322fbdb04805e8d790b0
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
require 'base64' module RHCP module EncodingHelper def self.change_string_values(thing, &block) result = nil case thing.class.to_s when "Array" result = [] thing.each do |t| result << change_string_values(t, &block) end when "Hash" result = {} thing.each do |k,v| result[k] = change_string_values(v, &block) end #when "String","Fixnum","Boolean","TrueClass","FalseClass" when "String" result = block.call(thing.to_s) when "Fixnum","TrueClass","FalseClass" result = thing when "Proc","NilClass","Binding" # ignore else $logger.debug("don't know how to encode #{thing.class} - skipping") end result end def self.to_base64(thing) change_string_values(thing) do |x| Base64.encode64(x) end end def self.from_base64(thing) change_string_values(thing) do |x| Base64.decode64(x) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rhcp-0.2.23 | lib/rhcp/encoding_helper.rb |
rhcp-0.2.22 | lib/rhcp/encoding_helper.rb |