class ErrorClient
Constants
- DEPLOY_CACHE_KEY
- ERROR_CACHE_KEY
Public Instance Methods
get_errors!(commit)
click to toggle source
TODO: Shared
# File lib/integrations/error_client.rb, line 10 def get_errors!(commit) deploy = commit_deploy(commit) return [] if deploy.nil? deploy_index = @deploys.index(deploy) || 0 @deploys = @deploys[(deploy_index + 1)..-1] || [] if @deploys.first.nil? errors = @errors @errors = [] else errors = [] while @errors.any? && @errors.first[:last_time] < @deploys.first[:timestamp] do errors << @errors.shift() end end errors end
sync!(commit)
click to toggle source
TODO:
1: sync to last deploy? 2: Shared
# File lib/integrations/error_client.rb, line 31 def sync!(commit) while @errors.any? && @errors.first[:last_time] < commit.date do @errors.shift() end end
Private Instance Methods
commit_deploy(commit)
click to toggle source
# File lib/integrations/error_client.rb, line 39 def commit_deploy(commit) @deploys.detect { |deploy| deploy[:commit_id] == commit.commit_id } end
load_from_cache()
click to toggle source
# File lib/integrations/error_client.rb, line 43 def load_from_cache() Cache .read(ERROR_CACHE_KEY, {}) .map do |error_id, error| error = error.deep_symbolize_keys error[:error_id] = error[:error_id].to_sym error[:first_time] = DateTime.rfc3339(error[:first_time]) error[:last_time] = DateTime.rfc3339(error[:last_time]) error end .sort_by { |error| error[:last_time] } end