Class: Dtn::Lookups::Historical::IntervalDatapoint

Inherits:
Interval show all
Defined in:
lib/dtn/lookups/historical/interval_datapoint.rb

Overview

Interval datapoint requests

Constant Summary collapse

TEMPLATE =
"HIX,%<symbol>s,%<interval>d,%<max_datapoints>d,%<data_direction>d,%<id>d,"\
"%<datapoints_per_send>d,%<interval_type>s"

Constants inherited from Base

Base::DEFAULT_BEGIN_FILTER_TIME, Base::DEFAULT_DATAPOINTS_PER_SEND, Base::DEFAULT_DATA_DIRECTION, Base::DEFAULT_END_FILTER_TIME, Base::DEFAULT_MAX_DATAPOINTS

Constants included from Concerns::Validation

Concerns::Validation::DATE_FORMAT, Concerns::Validation::DATE_TIME_FORMAT, Concerns::Validation::DEFAULT_INTERVAL_TYPE, Concerns::Validation::MAX_INT16

Constants inherited from Request

Request::END_OF_MESSAGE_CHARACTERS, Request::NO_DATA_CHARACTERS, Request::PORT, Request::SYNTAX_ERROR_CHARACTERS

Instance Attribute Summary

Attributes inherited from Request

#combined_options

Instance Method Summary collapse

Methods inherited from Interval

#expected_messages_class

Methods inherited from Request

call

Methods included from Concerns::Id

#id

Instance Method Details

#call(symbol:, interval:, **options) ⇒ Object

HIX - Retrieves [maxDatapoints] number of Intervals of data for the specified [Symbol].

Example message

HIX,[Symbol],[Interval],[MaxDatapoints],[DataDirection],[RequestID],[DatapointsPerSend],\
[IntervalType]<CR><LF>


18
19
20
21
22
23
24
25
26
27
# File 'lib/dtn/lookups/historical/interval_datapoint.rb', line 18

def call(symbol:, interval:, **options)
  self.combined_options = defaults(**options).merge(
    {
      symbol: validate_symbol(symbol),
      interval: validate_int(interval),
      interval_type: validate_interval_type(options[:interval_type])
    }
  )
  super
end