class CBOR::Transform
Public Instance Methods
transform(obj)
click to toggle source
# File lib/cbor-transform.rb, line 3 def transform(obj) case obj when NilClass transform_nil(obj) when FalseClass, TrueClass transform_bool(obj) when CBOR::Simple transform_simple(obj) when Float transform_float(obj) when Integer transform_integer(obj) # XXX should probably handle Symbol when String case obj.encoding when Encoding::BINARY transform_bytes(obj) else transform_text(obj) end when Array transform_array(obj) when Hash transform_hash(obj) when CBOR::Tagged transform_tag(obj) end end
transform_array(obj)
click to toggle source
# File lib/cbor-transform.rb, line 60 def transform_array(obj) obj.map {|x| transform(x)} end
transform_bool(obj)
click to toggle source
# File lib/cbor-transform.rb, line 36 def transform_bool(obj) obj end
transform_bytes(obj)
click to toggle source
# File lib/cbor-transform.rb, line 52 def transform_bytes(obj) obj end
transform_float(obj)
click to toggle source
# File lib/cbor-transform.rb, line 44 def transform_float(obj) obj end
transform_hash(obj)
click to toggle source
# File lib/cbor-transform.rb, line 64 def transform_hash(obj) Hash[obj.map {|k, v| [transform(k), transform(v)]}] end
transform_integer(obj)
click to toggle source
# File lib/cbor-transform.rb, line 48 def transform_integer(obj) obj end
transform_nil(obj)
click to toggle source
# File lib/cbor-transform.rb, line 32 def transform_nil(obj) obj end
transform_simple(obj)
click to toggle source
# File lib/cbor-transform.rb, line 40 def transform_simple(obj) obj end
transform_tag(obj)
click to toggle source
# File lib/cbor-transform.rb, line 68 def transform_tag(obj) CBOR::Tagged.new(transform(obj.tag), transform(obj.value)) end
transform_text(obj)
click to toggle source
# File lib/cbor-transform.rb, line 56 def transform_text(obj) obj end