Sha256: 04495fbe35d7da380666151ba4c48bde0ccd1a79f7dd59bc708899c0072a10ed

Contents?: true

Size: 594 Bytes

Versions: 7

Compression:

Stored size: 594 Bytes

Contents

require 'json'

module SendGrid
  class StatsResponse
    def initialize(args)
      @errors = args['errors'] if args.is_a? Hash
      @stats = args if args.is_a? Array
    end

    def errors
      @errors.map do |error|
        error['message']
      end
    end

    def error?
      !@errors.nil?
    end

    def metrics
      @stats.flat_map do |stat|
        starting_date = stat['date']
        all_stats_for_date = stat['stats']

        all_stats_for_date.map do |metric|
          Metrics.new(metric['metrics'].merge('date' => starting_date))
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sendgrid-ruby-6.1.1 lib/sendgrid/helpers/stats/stats_response.rb
sendgrid-ruby-6.1.0 lib/sendgrid/helpers/stats/stats_response.rb
sendgrid-ruby-6.0.4 lib/sendgrid/helpers/stats/stats_response.rb
sendgrid-ruby-6.0.3 lib/sendgrid/helpers/stats/stats_response.rb
sendgrid-ruby-6.0.2 lib/sendgrid/helpers/stats/stats_response.rb
sendgrid-ruby-6.0.1 lib/sendgrid/helpers/stats/stats_response.rb
sendgrid-ruby-6.0.0 lib/sendgrid/helpers/stats/stats_response.rb