Class: Musa::Neumas::Decoders::DifferentialDecoder

Inherits:
ProtoDecoder show all
Defined in:
lib/musa-dsl/neumas/neuma-decoder.rb

Overview

Differential decoder base class.

Adds process step to decoding pipeline for preparing/transforming input before final decoding. Useful for setting default values, normalizing formats, etc.

Pipeline

input 

Direct Known Subclasses

Decoder, NeumaDifferentialDecoder

Instance Method Summary collapse

Instance Method Details

#decode(gdvd) ⇒ Hash

Decodes element after processing.

Calls process to prepare element, then returns processed result.

Parameters:

  • gdvd (Hash)

    GDVD (Grade-Duration-Velocity-Differential) attributes

Returns:

  • (Hash)

    processed attributes



143
144
145
# File 'lib/musa-dsl/neumas/neuma-decoder.rb', line 143

def decode(gdvd)
  process gdvd
end

#process(_gdvd) ⇒ Hash

Processes/prepares attributes for decoding.

Abstract method - must be implemented by subclasses to transform input attributes (set defaults, normalize, etc.).

Parameters:

  • _gdvd (Hash)

    GDVD attributes

Returns:

  • (Hash)

    processed attributes

Raises:

  • (NotImplementedError)

    if not overridden



159
160
161
# File 'lib/musa-dsl/neumas/neuma-decoder.rb', line 159

def process(_gdvd)
  raise NotImplementedError
end