Class: BEncoder
- Inherits:
-
Object
- Object
- BEncoder
- Defined in:
- lib/bencoder.rb
Class Method Summary collapse
Class Method Details
.encode(object) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/bencoder.rb', line 2 def self.encode(object) case object when Symbol encode object.to_s when String "#{object.length}:#{object}" when Integer "i#{object}e" when Array encoded_content = object.inject("l") { |result, el| result += encode(el) } encoded_content += "e" when Hash encoded = object.inject("d") { |result, (k,v)| result += "#{encode(k.to_s)}#{encode(v)}" } encoded += "e" end end |