Skip to content

Commit 5bd6819

Browse files
committed
Rename AppSizeMetricsPayload to AppSizeMetricsHelper
1 parent 30e878d commit 5bd6819

File tree

4 files changed

+35
-34
lines changed

4 files changed

+35
-34
lines changed

lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_send_app_size_metrics.rb

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require_relative '../../models/app_size_metrics_payload'
1+
require_relative '../../helper/app_size_metrics_helper'
22

33
module Fastlane
44
module Actions
@@ -12,7 +12,7 @@ def self.run(params)
1212
end
1313

1414
# Build the payload base
15-
payload = Fastlane::WPMRT::AppSizeMetricsPayload.new(
15+
metrics_helper = Fastlane::WPMRT::AppSizeMetricsHelper.new(
1616
Platform: 'Android',
1717
'App Name': params[:app_name],
1818
'App Version': params[:app_version_name],
@@ -21,8 +21,9 @@ def self.run(params)
2121
'Build Type': params[:build_type],
2222
Source: params[:source]
2323
)
24-
payload.add_metric(name: 'AAB File Size', value: File.size(params[:aab_path]))
24+
metrics_helper.add_metric(name: 'AAB File Size', value: File.size(params[:aab_path]))
2525

26+
# Add device-specific 'splits' metrics to the payload if a `:include_split_sizes` is enabled
2627
if params[:include_split_sizes]
2728
check_bundletool_installed!
2829
apkanalyzer_bin = find_apkanalyzer_binary!
@@ -37,16 +38,16 @@ def self.run(params)
3738
split_name = File.basename(apk, '.apk').delete_prefix('base-')
3839
file_size = Action.sh(apkanalyzer_bin, 'apk', 'file-size', apk, print_command: false, print_command_output: false).chomp.to_i
3940
download_size = Action.sh(apkanalyzer_bin, 'apk', 'download-size', apk, print_command: false, print_command_output: false).chomp.to_i
40-
payload.add_metric(name: 'APK File Size', value: file_size, meta: { split: split_name })
41-
payload.add_metric(name: 'Download Size', value: download_size, meta: { split: split_name })
41+
metrics_helper.add_metric(name: 'APK File Size', value: file_size, meta: { split: split_name })
42+
metrics_helper.add_metric(name: 'Download Size', value: download_size, meta: { split: split_name })
4243
end
4344

4445
UI.message('[App Size Metrics] Done computing splits sizes.')
4546
end
4647
end
4748

4849
# Send the payload
49-
payload.send_metrics(
50+
metrics_helper.send_metrics(
5051
base_url: base_url,
5152
api_token: api_token,
5253
use_gzip: params[:use_gzip_content_encoding]

lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_send_app_size_metrics.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
require 'plist'
2-
require_relative '../../models/app_size_metrics_payload'
2+
require_relative '../../helper/app_size_metrics_helper'
33

44
module Fastlane
55
module Actions
@@ -13,14 +13,14 @@ def self.run(params)
1313
end
1414

1515
# Build the payload base
16-
payload = Fastlane::WPMRT::AppSizeMetricsPayload.new(
16+
metrics_helper = Fastlane::WPMRT::AppSizeMetricsHelper.new(
1717
Platform: 'iOS',
1818
'App Name': params[:app_name],
1919
'App Version': params[:app_version],
2020
'Build Type': params[:build_type],
2121
Source: params[:source]
2222
)
23-
payload.add_metric(name: 'File Size', value: File.size(params[:ipa_path]))
23+
metrics_helper.add_metric(name: 'File Size', value: File.size(params[:ipa_path]))
2424

2525
# Add app-thinning metrics to the payload if a `.plist` is provided
2626
app_thinning_plist_path = params[:app_thinning_plist_path] || File.join(File.dirname(params[:ipa_path]), 'app-thinning.plist')
@@ -30,14 +30,14 @@ def self.run(params)
3030
variant_descriptors = variant['variantDescriptors'] || [{ 'device' => 'Universal' }]
3131
variant_descriptors.each do |desc|
3232
variant_metadata = { device: desc['device'], 'OS Version': desc['os-version'] }
33-
payload.add_metric(name: 'Download Size', value: variant['sizeCompressedApp'], meta: variant_metadata)
34-
payload.add_metric(name: 'Install Size', value: variant['sizeUncompressedApp'], meta: variant_metadata)
33+
metrics_helper.add_metric(name: 'Download Size', value: variant['sizeCompressedApp'], meta: variant_metadata)
34+
metrics_helper.add_metric(name: 'Install Size', value: variant['sizeUncompressedApp'], meta: variant_metadata)
3535
end
3636
end
3737
end
3838

3939
# Send the payload
40-
payload.send_metrics(
40+
metrics_helper.send_metrics(
4141
base_url: base_url,
4242
api_token: api_token,
4343
use_gzip: params[:use_gzip_content_encoding]

lib/fastlane/plugin/wpmreleasetoolkit/models/app_size_metrics_payload.rb renamed to lib/fastlane/plugin/wpmreleasetoolkit/helper/app_size_metrics_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
module Fastlane
66
module WPMRT
7-
class AppSizeMetricsPayload
7+
class AppSizeMetricsHelper
88
# @param [Hash] group_meta Metadata common to all the metrics. Can be any arbitrary set of key/value pairs.
99
#
1010
def initialize(group_meta = {})

spec/app_size_metrics_payload_spec.rb renamed to spec/app_size_metrics_helper_spec.rb

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
require_relative './spec_helper'
22

3-
describe Fastlane::WPMRT::AppSizeMetricsPayload do
3+
describe Fastlane::WPMRT::AppSizeMetricsHelper do
44
describe '#to_h' do
55
it 'generates the right payload from raw data' do
6-
payload = described_class.new({
6+
metrics_helper = described_class.new({
77
'Group Metadata 1': 'Group Value 1',
88
'Group Metadata 2': 'Group Value 2'
99
})
10-
payload.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A' })
11-
payload.add_metric(name: 'Metric 2', value: 67_890)
12-
payload.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' })
10+
metrics_helper.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A' })
11+
metrics_helper.add_metric(name: 'Metric 2', value: 67_890)
12+
metrics_helper.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' })
1313

1414
expected_hash = {
1515
meta: [
@@ -22,18 +22,18 @@
2222
{ name: 'Metric 3', value: 13_579, meta: [{ name: 'm3a', value: 'Metric 3 Metadata A' }, { name: 'm3b', value: 'Metric 3 Metadata B' }] },
2323
]
2424
}
25-
expect(payload.to_h).to eq(expected_hash)
25+
expect(metrics_helper.to_h).to eq(expected_hash)
2626
end
2727

2828
it 'removes `nil` values in metadata' do
29-
payload = described_class.new({
29+
metrics_helper = described_class.new({
3030
'Group Metadata 1': 'Group Value 1',
3131
'Group Metadata 2': nil,
3232
'Group Metadata 3': 'Group Value 3'
3333
})
34-
payload.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A', m1b: nil, m1c: 'Metric 1 Metadata C' })
35-
payload.add_metric(name: 'Metric 2', value: 67_890, meta: { m2a: nil })
36-
payload.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' })
34+
metrics_helper.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A', m1b: nil, m1c: 'Metric 1 Metadata C' })
35+
metrics_helper.add_metric(name: 'Metric 2', value: 67_890, meta: { m2a: nil })
36+
metrics_helper.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' })
3737

3838
expected_hash = {
3939
meta: [
@@ -46,20 +46,20 @@
4646
{ name: 'Metric 3', value: 13_579, meta: [{ name: 'm3a', value: 'Metric 3 Metadata A' }, { name: 'm3b', value: 'Metric 3 Metadata B' }] },
4747
]
4848
}
49-
expect(payload.to_h).to eq(expected_hash)
49+
expect(metrics_helper.to_h).to eq(expected_hash)
5050
end
5151
end
5252

5353
describe '#send_metrics' do
54-
let(:payload) do
55-
payload = described_class.new({
54+
let(:metrics_helper) do
55+
metrics_helper = described_class.new({
5656
'Group Metadata 1': 'Group Value 1',
5757
'Group Metadata 2': 'Group Value 2'
5858
})
59-
payload.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A' })
60-
payload.add_metric(name: 'Metric 2', value: 67_890)
61-
payload.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' })
62-
payload
59+
metrics_helper.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A' })
60+
metrics_helper.add_metric(name: 'Metric 2', value: 67_890)
61+
metrics_helper.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' })
62+
metrics_helper
6363
end
6464
let(:expected_data) do
6565
{
@@ -81,7 +81,7 @@
8181
output_file = File.join(tmp_dir, 'payload.json')
8282
base_url = File.join('file://localhost/', output_file)
8383

84-
code = payload.send_metrics(base_url: base_url, api_token: nil, use_gzip: false)
84+
code = metrics_helper.send_metrics(base_url: base_url, api_token: nil, use_gzip: false)
8585

8686
expect(code).to eq(201)
8787
expect(File).to exist(output_file)
@@ -95,7 +95,7 @@
9595
output_file = File.join(tmp_dir, 'payload.json.gz')
9696
base_url = File.join('file://localhost/', output_file)
9797

98-
code = payload.send_metrics(base_url: base_url, api_token: nil, use_gzip: true)
98+
code = metrics_helper.send_metrics(base_url: base_url, api_token: nil, use_gzip: true)
9999

100100
expect(code).to eq(201)
101101
expect(File).to exist(output_file)
@@ -123,7 +123,7 @@
123123
last_received_body = req.body
124124
end.to_return(status: 201)
125125

126-
code = payload.send_metrics(base_url: base_url, api_token: token, use_gzip: false)
126+
code = metrics_helper.send_metrics(base_url: base_url, api_token: token, use_gzip: false)
127127

128128
expect(code).to eq(201)
129129
expect(stub).to have_been_made.once
@@ -142,7 +142,7 @@
142142
last_received_body = req.body
143143
end.to_return(status: 201)
144144

145-
code = payload.send_metrics(base_url: base_url, api_token: token, use_gzip: true)
145+
code = metrics_helper.send_metrics(base_url: base_url, api_token: token, use_gzip: true)
146146

147147
expect(code).to eq(201)
148148
expect(stub).to have_been_made.once

0 commit comments

Comments
 (0)