Module: BEncode
- Defined in:
- lib/bencode.rb,
lib/bencode/list.rb,
lib/bencode/parser.rb,
lib/bencode/string.rb,
lib/bencode/integer.rb,
lib/bencode/dictionary.rb
Defined Under Namespace
Modules: Dictionary, Integer, List, Parser, String Classes: BEncodeError
Class Method Summary collapse
-
.decode(string) ⇒ String, ...
This method decodes a bencoded string.
-
.decode_file(file) ⇒ String, ...
This method decodes a bencoded file.
-
.encode(object) ⇒ String
This method encodes a bencoded object.
-
.encode_file(file, object) ⇒ Object
This method encodes a bencoded object.
Class Method Details
.decode(string) ⇒ String, ...
This method decodes a bencoded string.
BEncode.decode("6:string") #=> "string"
21 22 23 24 |
# File 'lib/bencode.rb', line 21 def decode(string) scanner = StringScanner.new(string) Parser.parse_object(scanner) or raise BEncodeError, "Invalid bencoding" end |
.decode_file(file) ⇒ String, ...
This method decodes a bencoded file.
BEncode.decode_file("simple.torrent") #=> "d8:announce32:http://www..."
32 33 34 |
# File 'lib/bencode.rb', line 32 def decode_file(file) decode(File.open(file, 'rb') {|f| f.read}) end |