Sha256: 931c1b65fb7f79130a519dd07c268640667bbb43fb5079dc2695e8d377012281
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
# frozen_string_literal: true module MLBStatsAPI class ColorFeed < Base attr_reader :game_pk def initialize(api, game_pk, data) super(data) @api = api @game_pk = game_pk end def items return [] unless @data @data['items'] end def reload! @data = @api.get("/game/#{@game_pk}/feed/color") true rescue Net::OpenTimeout false end # The color feed doesn't use diffs, even though there's an endpoint for it. alias update! reload! # def timestamps # @api.color_feed_timestamps(@id) # end # def update! # return reload! unless @data # diffs = @api.color_feed_diff( # @data['game_pk'], # timecode: @data['timecode'] # ) # return process_diffs(diffs) if diffs.is_a?(Array) # # If the diff is too large or too old, a new feed is returned # @data = diffs if diffs.is_a?(Hash) # true # rescue Net::OpenTimeout # false # end # def process_diffs(diffs) # diffs.each do |diff_set| # Hana::Patch.new(diff_set['diff']).apply(@data) # end # @api.logger&.info 'Successfully processed color feed diff' # true # rescue Hana::Patch::Exception # @api.logger&.info 'Failed to process color feed diff; nuking' # # Nuke it! # @data = nil # reload! # false # end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mlb_stats_api-0.4.0 | lib/mlb_stats_api/color_feed.rb |