Sha256: 0884844151671dd0305fb904a6d8582dd8b2717f7c59deeedb7fbb4caef389fa

Contents?: true

Size: 903 Bytes

Versions: 1

Compression:

Stored size: 903 Bytes

Contents

# frozen_string_literal: true

require 'json'
require 'date'

module GoogleAnalyticsV4Api
  class ReportResponse

    attr_accessor :body, :raw_dimension_headers, :raw_metric_headers, :rows, :row_count, :metadata, :kind

    def initialize(body)
      @body = JSON.parse body
      @raw_dimension_headers = @body["dimensionHeaders"]
      @raw_metric_headers = @body["metricHeaders"]
      @rows = @body["rows"]
      @row_cont = @body["rowCount"]
      @metadata = @body["metadata"]
      @kind = @body["kind"]
    end

    def dimension_headers
      @dimension_headers ||= @raw_dimension_headers.map { |header| header["name"] }
    end

    def metric_headers
      @metric_headers ||= @raw_metric_headers.map { |header| header["name"] }
    end

    def parsed_rows
      @rows.map do |row|
        ReportResponseRow.new(row, @raw_dimension_headers, @raw_metric_headers)
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
google_analytics_v4_api-0.0.3 lib/google_analytics_v4_api/report_response.rb