ga4-rails 0.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ccebb95c15585bdcb7bbaae021ef88925592dfab178fa2d3aea4c7af630e4b7b
4
- data.tar.gz: 3f905d8b8e986f6af1d16122c0312449995fbb792963f64e2f545d2a5141f52a
3
+ metadata.gz: 5870e26229963003ab4e34cae150c85f490562c6e8eb4bdb41b69a39a037ec42
4
+ data.tar.gz: 50d422c79f317f9513cd1596106a12edc55f8594df37b8eba1e0ae5cf5ce4a0a
5
5
  SHA512:
6
- metadata.gz: 87996522ee691d58d75a51586211e97530c860d4e4bb8ad6c94fcff2ae932e39df39f2ea340b662b4832c7a7fe57768fe2fc9449df74b7e16d6f0adbdaba20c5
7
- data.tar.gz: 01021a0c232f81948d53c461f49bfc91a17b2153a441b0c30dd228f5bcafde2434241889d9ede8051cc6d88641ec5c430e5e0f431d58b7dc8676f4c552376802
6
+ metadata.gz: de4e462f15d7091df34f628accc525f9d59dd67188827a12821850fd41eb6d0411d794cc033e07bdfdd1457cd676675fb6caa8ff12856632317e43de451e490b
7
+ data.tar.gz: ca8d4c4f8c5d279664070e4655220517d98269a5ab18353098334288bf35bcb91cf2098f66f3897b885242c8e64b9cd9f2c47610d5f71f532cd720ecfae49905
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
1
  ## [Unreleased]
2
2
 
3
- ## [0.2] - 2023-02-01
3
+ ## [0.2.1] - 2023-06-02
4
+
5
+ - Update model response format
6
+
7
+ ## [0.2] - 2023-02-02
4
8
 
5
9
  - Add wrapper for Google Analytics Data API
6
10
  - Add model to fetch results for better framework integration
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ga4-rails (0.1.4)
4
+ ga4-rails (0.2)
5
5
  google-apis-analyticsadmin_v1alpha
6
6
  google-apis-analyticsdata_v1beta
7
7
 
@@ -104,4 +104,4 @@ DEPENDENCIES
104
104
  rubocop
105
105
 
106
106
  BUNDLED WITH
107
- 2.3.13
107
+ 2.4.5
@@ -19,7 +19,6 @@ module Ga4Rails::Model
19
19
  def results(access_token:, property_id:, start_date:, end_date:, limit: 1000)
20
20
  client = Ga4Rails::Client.new(access_token: access_token)
21
21
 
22
- # TODO: Handle response
23
22
  response = client.run_property_report(
24
23
  property_id: property_id,
25
24
  body: build_body(start_date: start_date, end_date: end_date, limit: limit)
@@ -46,12 +45,28 @@ module Ga4Rails::Model
46
45
  end
47
46
 
48
47
  def beautify_response(response)
48
+ return [] if response&.rows.nil?
49
+
49
50
  response.rows.map do |row|
50
51
  {
51
- dimensions: row.dimension_values.map(&:value).join(', '),
52
- metrics: row.metric_values.map(&:value).join(', ')
52
+ dimensions: dimensions_for(row),
53
+ metrics: metrics_for(row)
53
54
  }
54
55
  end
55
56
  end
57
+
58
+ def dimensions_for(row)
59
+ row.dimension_values.each_with_index.inject({}) do |result, (item, index)|
60
+ result[dimensions[index]] = item.value
61
+ result
62
+ end
63
+ end
64
+
65
+ def metrics_for(row)
66
+ row.metric_values.each_with_index.inject({}) do |result, (item, index)|
67
+ result[metrics[index]] = item.value
68
+ result
69
+ end
70
+ end
56
71
  end
57
72
  end
@@ -1,3 +1,3 @@
1
1
  module Ga4Rails
2
- VERSION = '0.2'.freeze
2
+ VERSION = '0.2.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ga4-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andriy Lukashchuk
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-01 00:00:00.000000000 Z
11
+ date: 2023-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-analyticsadmin_v1alpha