class Bvbg::Bvbg86Handler
Public Class Methods
accept?(parser)
click to toggle source
# File lib/bvbg/bvbg86_handler.rb, line 6 def self.accept?(parser) parser.for_tag(:BizGrpDtls).each do |file_type| return true if file_type[:BizGrpTp].include?("86") end false end
new(parser)
click to toggle source
# File lib/bvbg/bvbg86_handler.rb, line 2 def initialize(parser) @parser = parser end
Public Instance Methods
all_lines() { |build_line(item)| ... }
click to toggle source
# File lib/bvbg/bvbg86_handler.rb, line 13 def all_lines @parser.for_tag(:PricRpt).each do |item| yield build_line(item) end end
build_line(raw_item)
click to toggle source
# File lib/bvbg/bvbg86_handler.rb, line 19 def build_line(raw_item) { name: raw_item[:SctyId][:TckrSymb], symbol: raw_item[:SctyId][:TckrSymb], close: raw_item[:FinInstrmAttrbts][:LastPric], date: Date.parse(raw_item[:TradDt][:Dt]), open: raw_item[:FinInstrmAttrbts][:FrstPric], high: raw_item[:FinInstrmAttrbts][:MaxPric], low: raw_item[:FinInstrmAttrbts][:MinPric], average: raw_item[:FinInstrmAttrbts][:TradAvrgPric], bid: raw_item[:FinInstrmAttrbts][:BestBidPric], ask: raw_item[:FinInstrmAttrbts][:BestAskPric], volume: raw_item[:FinInstrmAttrbts][:NtlFinVol], quantity: raw_item[:FinInstrmAttrbts][:FinInstrmQty], trades: raw_item[:TradDtls][:TradQty], adj_close: raw_item[:FinInstrmAttrbts][:OscnPctg], future_adj: raw_item[:FinInstrmAttrbts][:AdjstdValCtrct] } end
Protected Instance Methods
bd_or_nil(value)
click to toggle source
# File lib/bvbg/bvbg86_handler.rb, line 41 def bd_or_nil(value) if not value.nil? return BigDecimal.new(value) end end