Class: Monerorequest::Decoder
- Inherits:
-
Object
- Object
- Monerorequest::Decoder
- Defined in:
- lib/monerorequest/decoder.rb
Overview
class to choose a proper Decoder Version and then pass the encoded data to it for decoding
Instance Attribute Summary collapse
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
Instance Method Summary collapse
- #decode ⇒ Object
-
#initialize(request) ⇒ Decoder
constructor
A new instance of Decoder.
Constructor Details
#initialize(request) ⇒ Decoder
Returns a new instance of Decoder.
12 13 14 15 16 17 18 |
# File 'lib/monerorequest/decoder.rb', line 12 def initialize(request) @request = request _, @version, @encoded_str = @request.split(":") raise RequestVersionError, @version unless Monerorequest::SUPPORTED_MR_VERSIONS.include?(@version.to_i) @decoder = Object.const_get("Monerorequest::V#{@version}") end |
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
10 11 12 |
# File 'lib/monerorequest/decoder.rb', line 10 def errors @errors end |
Instance Method Details
#decode ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/monerorequest/decoder.rb', line 20 def decode @data = @encoded_str @decoder::Decoder::PIPELINES.each do |pipeline| @data = pipeline.call(@data) end @data["version"] = @version.to_i validate! @data end |