Class: Xtb::Http::ChartRangeRequest

Inherits:
Command
  • Object
show all
Defined in:
lib/xtb/http/chart_range_request.rb

Overview

Constant Summary collapse

RateInfoRecord =
Data.define(:close, :ctm, :ctm_string, :high, :low, :open, :vol)
ChartLastRequestResponse =
Data.define(:digits, :rate_infos)

Instance Method Summary collapse

Methods inherited from Command

call

Constructor Details

#initialize(end_time, period, start_time, symbol, ticks: nil) ⇒ ChartRangeRequest

Returns a new instance of ChartRangeRequest.

Parameters:

  • end_time (Time)

    End of chart block

  • period (Xtb::PERIODS)

    Period code

  • start_time (Time)

    Start of chart block

  • symbol (String|Symbol)

    Symbol

  • ticks (Integer) (defaults to: nil)

    (Optional) Number of ticks needed



15
16
17
18
19
20
21
22
23
# File 'lib/xtb/http/chart_range_request.rb', line 15

def initialize(end_time, period, start_time, symbol, ticks: nil)
  @end_time = end_time
  @period = period
  @start_time = start_time
  @symbol = symbol
  @ticks = ticks

  super()
end

Instance Method Details

#callObject



25
26
27
28
29
# File 'lib/xtb/http/chart_range_request.rb', line 25

def call
  digits, rate_infos = super.return_data.values_at(:digits, :rate_infos)
  rate_infos = rate_infos.map { |record| RateInfoRecord.new(**record) }
  ChartLastRequestResponse.new(digits:, rate_infos:)
end