guardian / members-data-api
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 168 files with 10,430 lines of code.
    • 5 files changed more than 100 times (1,059 lines of code)
    • 6 files changed 51-100 times (1,448 lines of code)
    • 17 files changed 21-50 times (1,234 lines of code)
    • 68 files changed 6-20 times (3,753 lines of code)
    • 72 files changed 1-5 times (2,936 lines of code)
10% | 13% | 11% | 35% | 28%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 168 files with 10,430 lines of code.
    • 6 files changed by more than 25 contributors (1,192 lines of code)
    • 15 files changed by 11-25 contributors (1,396 lines of code)
    • 25 files changed by 6-10 contributors (1,631 lines of code)
    • 108 files changed by 2-5 contributors (6,003 lines of code)
    • 14 files changed by 1 contributor (208 lines of code)
11% | 13% | 15% | 57% | 1%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
scala, json, xml, yaml, sh, md, sbt, gitignore, txt, properties
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
scala10% | 8% | 12% | 38% | 30%
yaml0% | 96% | 0% | 3% | 0%
sbt0% | 91% | 8% | 0% | 0%
xml0% | 0% | 0% | 100% | 0%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
membership-attribute-service19% | 15% | 21% | 38% | 5%
project55% | 0% | 6% | 38% | 0%
cloudformation0% | 100% | 0% | 0% | 0%
ROOT0% | 100% | 0% | 0% | 0%
membership-common0% | 0% | 3% | 38% | 58%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
72 - 2015-07-27 2025-03-11 268 51 dan.massie.freelance@guardi... andrea.diotallevi@guardian....
AttributeController.scala
in membership-attribute-service/app/controllers
249 7 2015-08-03 2025-03-20 205 34 dan.massie.freelance@guardi... john.duffell@guardian.co.uk
AccountController.scala
in membership-attribute-service/app/controllers
336 9 2016-04-28 2025-02-19 195 33 tomverran@users.noreply.git... richard.bangay@gmail.com
TouchpointComponents.scala
in membership-attribute-service/app/components
173 2 2015-11-13 2025-03-27 143 27 tom.verran@guardian.co.uk andre.silva.mindera@guardia...
AccountDetails.scala
in membership-attribute-service/app/models
229 4 2015-11-03 2025-04-22 127 30 tom.verran@guardian.co.uk richard.bangay@gmail.com
552 - 2017-04-03 2024-11-07 86 24 david.furey@guardian.co.uk andrea.diotallevi@guardian....
Attributes.scala
in membership-attribute-service/app/models
133 1 2015-10-15 2025-02-10 85 26 ostapneko@gmail.com andrea.diotallevi@guardian....
AppLoader.scala
in membership-attribute-service/app/wiring
121 2 2018-02-09 2024-07-30 64 18 pvighi@gmail.com john.duffell@guardian.co.uk
SupporterRatePlanToAttributesMapper.scala
in membership-attribute-service/app/services
351 5 2021-03-01 2025-02-10 57 10 rupert.bates@guardian.co.uk andrea.diotallevi@guardian....
PaymentUpdateController.scala
in membership-attribute-service/app/controllers
203 3 2019-02-21 2025-04-15 55 14 jacob.winch@guardian.co.uk richard.bangay@gmail.com
build.sbt
in root
88 1 2017-05-11 2024-07-30 54 18 leigh-anne.mathieson@guardi... john.duffell@guardian.co.uk
ExistingPaymentOptionsController.scala
in membership-attribute-service/app/controllers
126 3 2019-03-05 2024-07-30 43 8 tom.richards@guardian.co.uk john.duffell@guardian.co.uk
AccountDetailsFromZuora.scala
in membership-attribute-service/app/services
210 10 2023-01-06 2025-02-10 43 6 pawel.krupinski.casual@guar... andrea.diotallevi@guardian....
CommonActions.scala
in membership-attribute-service/app/actions
54 1 2015-08-03 2024-07-09 41 15 dan.massie.freelance@guardi... john.duffell@guardian.co.uk
plugins.sbt
in project
8 - 2015-07-27 2023-11-22 40 23 dan.massie.freelance@guardi... john.duffell@guardian.co.uk
HealthCheckController.scala
in membership-attribute-service/app/controllers
35 2 2015-08-05 2024-05-08 34 19 dan.massie.freelance@guardi... john.duffell@guardian.co.uk
TouchpointBackends.scala
in membership-attribute-service/app/components
61 - 2018-02-07 2024-07-30 32 8 patricio.vighi@guardian.co.uk john.duffell@guardian.co.uk
GuardianPatronService.scala
in membership-attribute-service/app/services
131 5 2022-06-13 2025-04-22 32 6 rupert.bates@guardian.co.uk richard.bangay@gmail.com
PaymentFailureAlerter.scala
in membership-attribute-service/app/services
126 6 2018-03-14 2024-07-30 31 13 leigh-anne.mathieson@guardi... john.duffell@guardian.co.uk
Features.scala
in membership-attribute-service/app/models
25 1 2015-10-15 2023-02-07 28 20 ostapneko@gmail.com 118187364+pawel-krupinski-g...
IdentityAuthService.scala
in membership-attribute-service/app/services
68 3 2015-09-28 2024-05-08 28 14 ostapneko@gmail.com john.duffell@guardian.co.uk
SentryLogging.scala
in membership-attribute-service/app/monitoring
32 1 2015-09-28 2024-05-08 27 12 tudorraul@gmail.com john.duffell@guardian.co.uk
PaymentDetailsForSubscription.scala
in membership-attribute-service/app/services
47 1 2023-01-07 2025-01-21 24 4 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
AddGuIdentityHeaders.scala
in membership-attribute-service/app/filters
33 3 2017-02-08 2024-07-09 23 17 justinpinner@gmail.com john.duffell@guardian.co.uk
SelfServiceCancellation.scala
in membership-attribute-service/app/models
45 1 2020-06-18 2025-02-10 23 10 tom.richards@guardian.co.uk andrea.diotallevi@guardian....
SubscriptionService.scala
in membership-common/src/main/scala/com/gu/memsub/subsv2/services
154 10 2023-04-14 2025-02-25 22 5 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
FeastApp.scala
in membership-attribute-service/app/models
28 - 2024-02-29 2025-01-29 21 3 rupert.bates@guardian.co.uk rupert.bates@guardian.co.uk
ErrorHandling.scala
in membership-attribute-service/app/monitoring
51 4 2018-02-06 2024-05-08 21 10 patricio.vighi@guardian.co.uk john.duffell@guardian.co.uk
Subscription.scala
in membership-common/src/main/scala/com/gu/memsub/subsv2
109 4 2023-04-14 2025-05-09 20 5 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
ProductFamily.scala
in membership-common/src/main/scala/com/gu/memsub
184 4 2023-04-14 2025-02-10 20 5 pawel.krupinski.casual@guar... andrea.diotallevi@guardian....
SubsV2ProductIds.scala
in membership-common/src/main/scala/com/gu/config
29 - 2023-04-14 2025-02-10 19 5 pawel.krupinski.casual@guar... andrea.diotallevi@guardian....
ContactController.scala
in membership-attribute-service/app/controllers
87 3 2019-12-05 2024-05-08 19 8 kelvin.chappell@theguardian... john.duffell@guardian.co.uk
Metrics.scala
in membership-attribute-service/app/monitoring
23 1 2017-02-08 2024-04-22 18 10 justinpinner@gmail.com john.duffell@guardian.co.uk
MobileSubscriptionService.scala
in membership-attribute-service/app/services
47 2 2019-09-26 2024-05-08 18 8 alex.dufournet@guardian.co.uk john.duffell@guardian.co.uk
Plan.scala
in membership-common/src/main/scala/com/gu/memsub/subsv2
194 3 2023-04-14 2025-01-08 18 4 pawel.krupinski.casual@guar... andrea.diotallevi@guardian....
AddEC2InstanceHeader.scala
in membership-attribute-service/app/filters
14 1 2015-08-03 2023-11-22 17 13 dan.massie.freelance@guardi... john.duffell@guardian.co.uk
ExistingPaymentOption.scala
in membership-attribute-service/app/models
60 3 2019-03-07 2024-08-05 17 7 tom.richards@guardian.co.uk john.duffell@guardian.co.uk
AuthAndBackendViaIdapiAction.scala
in membership-attribute-service/app/actions
65 3 2019-04-02 2024-07-09 16 8 thomas.w.richards@gmail.com john.duffell@guardian.co.uk
DynamoSupporterProductDataService.scala
in membership-attribute-service/app/services
71 4 2022-11-18 2024-04-29 15 4 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
SimpleClientZuoraRestService.scala
in membership-attribute-service/app/services/zuora/rest
113 9 2023-01-27 2025-01-08 15 4 pawel.krupinski.casual@guar... andrea.diotallevi@guardian....
PaymentCardUpdateResultWriters.scala
in membership-attribute-service/app/json
26 - 2015-12-04 2023-02-17 14 10 javaguychronox@gmail.com 118187364+pawel-krupinski-g...
AuthAndBackendViaAuthLibAction.scala
in membership-attribute-service/app/actions
29 1 2019-08-13 2024-07-09 14 9 leigh-anne.mathieson@guardi... john.duffell@guardian.co.uk
CancelSubscription.scala
in membership-attribute-service/app/services/subscription
44 2 2023-03-24 2025-02-19 14 5 pawel.krupinski.casual@guar... richard.bangay@gmail.com
CatalogService.scala
in membership-common/src/main/scala/com/gu/memsub/subsv2/services
57 3 2023-04-14 2025-01-21 14 3 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
PaymentDetails.scala
in membership-common/src/main/scala/com/gu/services/model
60 1 2023-04-14 2025-01-08 14 4 pawel.krupinski.casual@guar... andrea.diotallevi@guardian....
CloudWatch.scala
in membership-attribute-service/app/monitoring
28 3 2015-09-29 2024-04-29 13 5 tudorraul@gmail.com john.duffell@guardian.co.uk
Client.scala
in membership-common/src/main/scala/com/gu/zuora/soap
86 4 2023-04-14 2024-05-23 13 3 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
ZuoraSoapService.scala
in membership-common/src/main/scala/com/gu/zuora
129 9 2023-04-14 2025-01-08 13 4 pawel.krupinski.casual@guar... andrea.diotallevi@guardian....
ContactAndSubscription.scala
in membership-attribute-service/app/models
8 - 2019-12-03 2024-05-21 12 6 kelvin.chappell@theguardian... john.duffell@guardian.co.uk
CheckCacheHeadersFilter.scala
in membership-attribute-service/app/filters
19 1 2017-02-08 2023-11-22 12 11 justinpinner@gmail.com john.duffell@guardian.co.uk
Files With Most Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
72 - 2015-07-27 2025-03-11 268 51 dan.massie.freelance@guardi... andrea.diotallevi@guardian....
AttributeController.scala
in membership-attribute-service/app/controllers
249 7 2015-08-03 2025-03-20 205 34 dan.massie.freelance@guardi... john.duffell@guardian.co.uk
AccountController.scala
in membership-attribute-service/app/controllers
336 9 2016-04-28 2025-02-19 195 33 tomverran@users.noreply.git... richard.bangay@gmail.com
AccountDetails.scala
in membership-attribute-service/app/models
229 4 2015-11-03 2025-04-22 127 30 tom.verran@guardian.co.uk richard.bangay@gmail.com
TouchpointComponents.scala
in membership-attribute-service/app/components
173 2 2015-11-13 2025-03-27 143 27 tom.verran@guardian.co.uk andre.silva.mindera@guardia...
Attributes.scala
in membership-attribute-service/app/models
133 1 2015-10-15 2025-02-10 85 26 ostapneko@gmail.com andrea.diotallevi@guardian....
552 - 2017-04-03 2024-11-07 86 24 david.furey@guardian.co.uk andrea.diotallevi@guardian....
plugins.sbt
in project
8 - 2015-07-27 2023-11-22 40 23 dan.massie.freelance@guardi... john.duffell@guardian.co.uk
Features.scala
in membership-attribute-service/app/models
25 1 2015-10-15 2023-02-07 28 20 ostapneko@gmail.com 118187364+pawel-krupinski-g...
HealthCheckController.scala
in membership-attribute-service/app/controllers
35 2 2015-08-05 2024-05-08 34 19 dan.massie.freelance@guardi... john.duffell@guardian.co.uk
AppLoader.scala
in membership-attribute-service/app/wiring
121 2 2018-02-09 2024-07-30 64 18 pvighi@gmail.com john.duffell@guardian.co.uk
build.sbt
in root
88 1 2017-05-11 2024-07-30 54 18 leigh-anne.mathieson@guardi... john.duffell@guardian.co.uk
AddGuIdentityHeaders.scala
in membership-attribute-service/app/filters
33 3 2017-02-08 2024-07-09 23 17 justinpinner@gmail.com john.duffell@guardian.co.uk
CommonActions.scala
in membership-attribute-service/app/actions
54 1 2015-08-03 2024-07-09 41 15 dan.massie.freelance@guardi... john.duffell@guardian.co.uk
PaymentUpdateController.scala
in membership-attribute-service/app/controllers
203 3 2019-02-21 2025-04-15 55 14 jacob.winch@guardian.co.uk richard.bangay@gmail.com
IdentityAuthService.scala
in membership-attribute-service/app/services
68 3 2015-09-28 2024-05-08 28 14 ostapneko@gmail.com john.duffell@guardian.co.uk
PaymentFailureAlerter.scala
in membership-attribute-service/app/services
126 6 2018-03-14 2024-07-30 31 13 leigh-anne.mathieson@guardi... john.duffell@guardian.co.uk
AddEC2InstanceHeader.scala
in membership-attribute-service/app/filters
14 1 2015-08-03 2023-11-22 17 13 dan.massie.freelance@guardi... john.duffell@guardian.co.uk
SentryLogging.scala
in membership-attribute-service/app/monitoring
32 1 2015-09-28 2024-05-08 27 12 tudorraul@gmail.com john.duffell@guardian.co.uk
CheckCacheHeadersFilter.scala
in membership-attribute-service/app/filters
19 1 2017-02-08 2023-11-22 12 11 justinpinner@gmail.com john.duffell@guardian.co.uk
package.scala
in membership-attribute-service/app/json
18 1 2015-11-10 2023-02-07 11 11 roberto.tyley@theguardian.com 118187364+pawel-krupinski-g...
SupporterRatePlanToAttributesMapper.scala
in membership-attribute-service/app/services
351 5 2021-03-01 2025-02-10 57 10 rupert.bates@guardian.co.uk andrea.diotallevi@guardian....
SelfServiceCancellation.scala
in membership-attribute-service/app/models
45 1 2020-06-18 2025-02-10 23 10 tom.richards@guardian.co.uk andrea.diotallevi@guardian....
ErrorHandling.scala
in membership-attribute-service/app/monitoring
51 4 2018-02-06 2024-05-08 21 10 patricio.vighi@guardian.co.uk john.duffell@guardian.co.uk
Metrics.scala
in membership-attribute-service/app/monitoring
23 1 2017-02-08 2024-04-22 18 10 justinpinner@gmail.com john.duffell@guardian.co.uk
PaymentCardUpdateResultWriters.scala
in membership-attribute-service/app/json
26 - 2015-12-04 2023-02-17 14 10 javaguychronox@gmail.com 118187364+pawel-krupinski-g...
Fixtures.scala
in membership-attribute-service/app/models
1 - 2015-09-10 2023-02-07 10 10 ostapneko@gmail.com 118187364+pawel-krupinski-g...
AuthAndBackendViaAuthLibAction.scala
in membership-attribute-service/app/actions
29 1 2019-08-13 2024-07-09 14 9 leigh-anne.mathieson@guardi... john.duffell@guardian.co.uk
ExistingPaymentOptionsController.scala
in membership-attribute-service/app/controllers
126 3 2019-03-05 2024-07-30 43 8 tom.richards@guardian.co.uk john.duffell@guardian.co.uk
TouchpointBackends.scala
in membership-attribute-service/app/components
61 - 2018-02-07 2024-07-30 32 8 patricio.vighi@guardian.co.uk john.duffell@guardian.co.uk
ContactController.scala
in membership-attribute-service/app/controllers
87 3 2019-12-05 2024-05-08 19 8 kelvin.chappell@theguardian... john.duffell@guardian.co.uk
MobileSubscriptionService.scala
in membership-attribute-service/app/services
47 2 2019-09-26 2024-05-08 18 8 alex.dufournet@guardian.co.uk john.duffell@guardian.co.uk
AuthAndBackendViaIdapiAction.scala
in membership-attribute-service/app/actions
65 3 2019-04-02 2024-07-09 16 8 thomas.w.richards@gmail.com john.duffell@guardian.co.uk
riff-raff.yaml
in membership-attribute-service/conf
21 - 2017-05-18 2023-11-22 11 8 leigh-anne.mathieson@guardi... john.duffell@guardian.co.uk
ApiError.scala
in membership-attribute-service/app/models
18 1 2015-08-03 2022-06-21 10 8 dan.massie.freelance@guardi... rupert.bates@guardian.co.uk
logback.xml
in membership-attribute-service/conf
32 - 2016-07-13 2024-05-16 7 8 mario.galic@guardian.co.uk john.duffell@guardian.co.uk
ExistingPaymentOption.scala
in membership-attribute-service/app/models
60 3 2019-03-07 2024-08-05 17 7 tom.richards@guardian.co.uk john.duffell@guardian.co.uk
DeliveryAddress.scala
in membership-attribute-service/app/models
42 3 2019-12-03 2023-02-07 12 7 kelvin.chappell@theguardian... 118187364+pawel-krupinski-g...
ContributionsStoreDatabaseService.scala
in membership-attribute-service/app/services
72 5 2019-05-30 2025-01-08 11 7 tom.forbes@theguardian.com andrea.diotallevi@guardian....
PaymentGateway.scala
in membership-common/src/main/scala/com/gu/zuora/api
54 1 2023-04-14 2025-04-15 9 7 pawel.krupinski.casual@guar... richard.bangay@gmail.com
ApiErrors.scala
in membership-attribute-service/app/models
37 - 2015-09-09 2022-12-05 8 7 ostapneko@gmail.com kelvin.chappell@theguardian...
ContributionData.scala
in membership-attribute-service/app/models
21 - 2019-05-30 2023-02-07 7 7 tom.forbes@theguardian.com 118187364+pawel-krupinski-g...
AccountDetailsFromZuora.scala
in membership-attribute-service/app/services
210 10 2023-01-06 2025-02-10 43 6 pawel.krupinski.casual@guar... andrea.diotallevi@guardian....
GuardianPatronService.scala
in membership-attribute-service/app/services
131 5 2022-06-13 2025-04-22 32 6 rupert.bates@guardian.co.uk richard.bangay@gmail.com
ContactAndSubscription.scala
in membership-attribute-service/app/models
8 - 2019-12-03 2024-05-21 12 6 kelvin.chappell@theguardian... john.duffell@guardian.co.uk
AuthenticationService.scala
in membership-attribute-service/app/services
13 1 2015-08-03 2022-12-05 10 6 dan.massie.freelance@guardi... kelvin.chappell@theguardian...
SubscriptionService.scala
in membership-common/src/main/scala/com/gu/memsub/subsv2/services
154 10 2023-04-14 2025-02-25 22 5 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
ProductFamily.scala
in membership-common/src/main/scala/com/gu/memsub
184 4 2023-04-14 2025-02-10 20 5 pawel.krupinski.casual@guar... andrea.diotallevi@guardian....
Subscription.scala
in membership-common/src/main/scala/com/gu/memsub/subsv2
109 4 2023-04-14 2025-05-09 20 5 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
SubsV2ProductIds.scala
in membership-common/src/main/scala/com/gu/config
29 - 2023-04-14 2025-02-10 19 5 pawel.krupinski.casual@guar... andrea.diotallevi@guardian....
Files With Least Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
Reader.scala
in membership-common/src/main/scala/com/gu/zuora/soap/readers
28 2 2023-04-14 2023-04-14 1 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
AwsSQSSend.scala
in membership-attribute-service/app/services/mail
26 1 2023-03-20 2023-03-22 2 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
Price.scala
in membership-common/src/main/scala/com/gu/memsub
23 1 2023-04-14 2023-04-14 1 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
Query.scala
in membership-common/src/main/scala/com/gu/zuora/soap/readers
18 1 2023-04-14 2023-04-14 1 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
Sequence.scala
in membership-attribute-service/app/services/subscription
16 1 2023-01-26 2023-01-26 1 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
Result.scala
in membership-common/src/main/scala/com/gu/salesforce/job
16 - 2023-04-14 2023-04-14 1 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
PaymentSummary.scala
in membership-common/src/main/scala/com/gu/zuora/soap/models
14 1 2023-04-14 2023-04-14 1 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
AccessScope.scala
in membership-attribute-service/app/models
13 - 2022-11-08 2022-11-08 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
TestUserChecker.scala
in membership-attribute-service/app/filters
13 1 2024-06-26 2024-07-09 2 1 john.duffell@guardian.co.uk john.duffell@guardian.co.uk
Trace.scala
in membership-attribute-service/app/services/subscription
10 1 2023-01-26 2023-01-26 1 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
Catalog.scala
in membership-common/src/main/scala/com/gu/memsub/subsv2
10 - 2024-05-29 2024-07-30 3 1 john.duffell@guardian.co.uk john.duffell@guardian.co.uk
package.scala
in membership-common/src/main/scala/com/gu/zuora/soap
10 - 2023-04-14 2023-04-14 1 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
FullName.scala
in membership-common/src/main/scala/com/gu/memsub
7 - 2023-04-14 2023-04-14 1 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
PaymentCardUpdateResult.scala
in membership-common/src/main/scala/com/gu/memsub
4 - 2023-04-14 2023-04-14 1 1 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
ZuoraLookup.scala
in membership-common/src/main/scala/com/gu/zuora
258 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
Readers.scala
in membership-common/src/main/scala/com/gu/zuora/soap
216 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
Stripe.scala
in membership-common/src/main/scala/com/gu/stripe
162 3 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
Errors.scala
in membership-common/src/main/scala/com/gu/zuora/soap/models
118 3 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
Query.scala
in membership-common/src/main/scala/com/gu/zuora/soap/models
113 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
BillingPeriod.scala
in membership-common/src/main/scala/com/gu/memsub
79 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
Emails.scala
in membership-attribute-service/app/services/mail
72 3 2023-03-23 2024-07-30 8 2 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
SafeLogger.scala
in membership-common/src/main/scala/com/gu/monitoring
62 12 2023-04-14 2024-05-08 6 2 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
ContactDeserializer.scala
in membership-common/src/main/scala/com/gu/salesforce
60 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
SqsAsync.scala
in membership-attribute-service/app/services/mail
52 2 2023-03-20 2024-05-08 6 2 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
Reader.scala
in membership-common/src/main/scala/com/gu/salesforce/job
51 3 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
50 - 2023-04-17 2023-11-22 6 2 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
Action.scala
in membership-common/src/main/scala/com/gu/salesforce/job
38 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
Action.scala
in membership-common/src/main/scala/com/gu/zuora/soap/actions
37 3 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
ListTEither.scala
in membership-attribute-service/app/utils
34 1 2023-01-06 2023-01-17 5 2 pawel.krupinski.casual@guar... 118187364+pawel-krupinski-g...
PaymentMethod.scala
in membership-common/src/main/scala/com/gu/memsub
33 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
SimpleEitherT.scala
in membership-attribute-service/app/utils
29 3 2023-01-06 2023-01-26 5 2 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
AwsS3Client.scala
in membership-common/src/main/scala/com/gu/aws
29 1 2023-04-14 2024-05-08 4 2 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
Contact.scala
in membership-common/src/main/scala/com/gu/salesforce
27 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
NormalisedTelephoneNumber.scala
in membership-common/src/main/scala/com/gu/memsub
25 2 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
SalesforceConfig.scala
in membership-common/src/main/scala/com/gu/salesforce
24 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
Result.scala
in membership-common/src/main/scala/com/gu/zuora/soap/readers
23 2 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
OptionTEither.scala
in membership-attribute-service/app/utils
22 1 2023-01-13 2023-03-24 3 2 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
LogImplicit.scala
in membership-common/src/main/scala/com/gu/memsub/promo
22 2 2023-04-14 2024-05-16 6 2 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
ContactRecordType.scala
in membership-common/src/main/scala/com/gu/salesforce
21 1 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
DateDSL.scala
in membership-common/src/main/scala/com/gu/lib
19 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
Timing.scala
in membership-common/src/main/scala/com/gu/memsub/util
18 1 2023-04-14 2024-05-08 4 2 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
ZuoraFilters.scala
in membership-common/src/main/scala/com/gu/zuora/soap
17 2 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
IdapiConfig.scala
in membership-common/src/main/scala/com/gu/identity
12 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
Address.scala
in membership-common/src/main/scala/com/gu/memsub
12 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
OptionalConfig.scala
in membership-attribute-service/app/configuration
11 - 2022-12-19 2023-02-16 3 2 pawel.krupinski.casual@guar... pawel.krupinski.casual@guar...
SendEmail.scala
in membership-attribute-service/app/services/mail
11 1 2023-03-20 2024-05-08 4 2 pawel.krupinski.casual@guar... john.duffell@guardian.co.uk
Result.scala
in membership-common/src/main/scala/com/gu/zuora/soap/models
11 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
package.scala
in membership-common/src/main/scala/com/gu/aws
10 - 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
SupplierCode.scala
in membership-common/src/main/scala/com/gu/memsub
10 1 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
ServiceHelpers.scala
in membership-common/src/main/scala/com/gu/zuora/soap
9 1 2023-04-14 2023-07-17 3 2 pawel.krupinski.casual@guar... rupert.bates@guardian.co.uk
Correlations

File Size vs. Number of Changes: 168 points

membership-common/src/main/scala/com/gu/memsub/subsv2/Subscription.scala x: 109 lines of code y: 20 # changes membership-attribute-service/app/models/AccountDetails.scala x: 229 lines of code y: 127 # changes membership-attribute-service/app/services/GuardianPatronService.scala x: 131 lines of code y: 32 # changes membership-attribute-service/app/controllers/PaymentUpdateController.scala x: 203 lines of code y: 55 # changes membership-attribute-service/app/models/GatewayOwner.scala x: 12 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/zuora/api/PaymentGateway.scala x: 54 lines of code y: 9 # changes membership-attribute-service/app/components/TouchpointComponents.scala x: 173 lines of code y: 143 # changes membership-attribute-service/app/services/stripe/ChooseStripe.scala x: 42 lines of code y: 6 # changes membership-common/src/main/scala/com/gu/touchpoint/TouchpointBackendConfig.scala x: 34 lines of code y: 8 # changes membership-attribute-service/app/controllers/AttributeController.scala x: 249 lines of code y: 205 # changes project/Dependencies.scala x: 72 lines of code y: 268 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/services/SubscriptionService.scala x: 154 lines of code y: 22 # changes membership-attribute-service/app/controllers/AccountController.scala x: 336 lines of code y: 195 # changes membership-attribute-service/app/services/subscription/CancelSubscription.scala x: 44 lines of code y: 14 # changes membership-attribute-service/app/models/Attributes.scala x: 133 lines of code y: 85 # changes membership-attribute-service/app/models/SelfServiceCancellation.scala x: 45 lines of code y: 23 # changes membership-attribute-service/app/services/AccountDetailsFromZuora.scala x: 210 lines of code y: 43 # changes membership-attribute-service/app/services/SupporterRatePlanToAttributesMapper.scala x: 351 lines of code y: 57 # changes membership-common/src/main/scala/com/gu/config/SubsV2ProductIds.scala x: 29 lines of code y: 19 # changes membership-common/src/main/scala/com/gu/memsub/ProductFamily.scala x: 184 lines of code y: 20 # changes membership-attribute-service/app/models/FeastApp.scala x: 28 lines of code y: 21 # changes membership-attribute-service/app/services/PaymentDetailsForSubscription.scala x: 47 lines of code y: 24 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/services/CatalogService.scala x: 57 lines of code y: 14 # changes membership-attribute-service/app/services/ContributionsStoreDatabaseService.scala x: 72 lines of code y: 11 # changes membership-attribute-service/app/services/zuora/payment/PaymentService.scala x: 98 lines of code y: 11 # changes membership-attribute-service/app/services/zuora/rest/SimpleClientZuoraRestService.scala x: 113 lines of code y: 15 # changes membership-attribute-service/app/services/zuora/rest/ZuoraRestService.scala x: 370 lines of code y: 11 # changes membership-common/src/main/scala/com/gu/memsub/Subscription.scala x: 16 lines of code y: 8 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/Plan.scala x: 194 lines of code y: 18 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/reads/SubJsonReads.scala x: 92 lines of code y: 12 # changes membership-common/src/main/scala/com/gu/services/model/PaymentDetails.scala x: 60 lines of code y: 14 # changes membership-common/src/main/scala/com/gu/zuora/ZuoraSoapService.scala x: 129 lines of code y: 13 # changes cloudformation/membership-attribute-service.yaml x: 552 lines of code y: 86 # changes membership-attribute-service/app/services/stripe/StripeService.scala x: 12 lines of code y: 7 # changes membership-attribute-service/app/services/zuora/payment/SetPaymentCard.scala x: 49 lines of code y: 6 # changes membership-common/src/main/scala/com/gu/stripe/StripeService.scala x: 62 lines of code y: 10 # changes membership-common/src/main/scala/com/gu/zuora/soap/actions/Actions.scala x: 279 lines of code y: 5 # changes membership-common/src/main/scala/com/gu/zuora/soap/models/Commands.scala x: 114 lines of code y: 5 # changes membership-common/src/main/scala/com/gu/zuora/soap/writers/Command.scala x: 419 lines of code y: 5 # changes membership-attribute-service/app/models/ExistingPaymentOption.scala x: 60 lines of code y: 17 # changes build.sbt x: 88 lines of code y: 54 # changes membership-attribute-service/app/components/TouchpointBackends.scala x: 61 lines of code y: 32 # changes membership-attribute-service/app/controllers/ExistingPaymentOptionsController.scala x: 126 lines of code y: 43 # changes membership-attribute-service/app/models/ProductsResponse.scala x: 20 lines of code y: 8 # changes membership-attribute-service/app/services/PaymentFailureAlerter.scala x: 126 lines of code y: 31 # changes membership-attribute-service/app/services/mail/Emails.scala x: 72 lines of code y: 8 # changes membership-attribute-service/app/wiring/AppLoader.scala x: 121 lines of code y: 64 # changes membership-common/src/main/scala/com/gu/memsub/PriceParser.scala x: 13 lines of code y: 5 # changes membership-common/src/main/scala/com/gu/memsub/PricingSummary.scala x: 7 lines of code y: 5 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/Catalog.scala x: 10 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/reads/CatJsonReads.scala x: 58 lines of code y: 6 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/reads/CommonReads.scala x: 38 lines of code y: 5 # changes membership-common/src/main/scala/com/gu/zuora/rest/Readers.scala x: 40 lines of code y: 5 # changes membership-common/src/main/scala/com/gu/zuora/rest/package.scala x: 30 lines of code y: 5 # changes membership-attribute-service/app/actions/AuthAndBackendViaAuthLibAction.scala x: 29 lines of code y: 14 # changes membership-attribute-service/app/actions/AuthAndBackendViaIdapiAction.scala x: 65 lines of code y: 16 # changes membership-attribute-service/app/actions/CommonActions.scala x: 54 lines of code y: 41 # changes membership-attribute-service/app/filters/AddGuIdentityHeaders.scala x: 33 lines of code y: 23 # changes membership-attribute-service/app/filters/TestUserChecker.scala x: 13 lines of code y: 2 # changes membership-common/src/main/scala/com/gu/memsub/BillingSchedule.scala x: 89 lines of code y: 6 # changes membership-common/src/main/scala/com/gu/okhttp/RequestRunners.scala x: 38 lines of code y: 8 # changes membership-common/src/main/scala/com/gu/zuora/rest/SimpleClient.scala x: 57 lines of code y: 8 # changes membership-common/src/main/scala/com/gu/zuora/soap/Client.scala x: 86 lines of code y: 13 # changes membership-attribute-service/app/models/ContactAndSubscription.scala x: 8 lines of code y: 12 # changes membership-common/src/main/scala/com/gu/salesforce/Tier.scala x: 30 lines of code y: 6 # changes membership-attribute-service/conf/logback.xml x: 32 lines of code y: 7 # changes membership-common/src/main/scala/com/gu/memsub/util/WebServiceHelper.scala x: 77 lines of code y: 8 # changes membership-common/src/main/scala/com/gu/memsub/promo/LogImplicit.scala x: 22 lines of code y: 6 # changes membership-attribute-service/app/controllers/ContactController.scala x: 87 lines of code y: 19 # changes membership-attribute-service/app/controllers/HealthCheckController.scala x: 35 lines of code y: 34 # changes membership-attribute-service/app/loghandling/DeprecatedRequestLogger.scala x: 10 lines of code y: 8 # changes membership-attribute-service/app/models/UserFromToken.scala x: 45 lines of code y: 11 # changes membership-attribute-service/app/monitoring/ErrorHandling.scala x: 51 lines of code y: 21 # changes membership-attribute-service/app/monitoring/SentryLogging.scala x: 32 lines of code y: 27 # changes membership-attribute-service/app/services/IdentityAuthService.scala x: 68 lines of code y: 28 # changes membership-attribute-service/app/services/MobileSubscriptionService.scala x: 47 lines of code y: 18 # changes membership-attribute-service/app/services/mail/SendEmail.scala x: 11 lines of code y: 4 # changes membership-attribute-service/app/services/mail/SqsAsync.scala x: 52 lines of code y: 6 # changes membership-attribute-service/app/services/salesforce/ContactRepository.scala x: 10 lines of code y: 6 # changes membership-attribute-service/app/services/salesforce/SimpleContactRepository.scala x: 52 lines of code y: 10 # changes membership-attribute-service/app/services/stripe/BasicStripeService.scala x: 13 lines of code y: 6 # changes membership-attribute-service/app/services/stripe/HttpBasicStripeService.scala x: 48 lines of code y: 10 # changes membership-common/src/main/scala/com/gu/aws/AwsS3Client.scala x: 29 lines of code y: 4 # changes membership-common/src/main/scala/com/gu/identity/IdapiService.scala x: 61 lines of code y: 5 # changes membership-common/src/main/scala/com/gu/memsub/util/ScheduledTask.scala x: 41 lines of code y: 10 # changes membership-common/src/main/scala/com/gu/memsub/util/Timing.scala x: 18 lines of code y: 4 # changes membership-common/src/main/scala/com/gu/monitoring/CloudWatch.scala x: 45 lines of code y: 6 # changes membership-common/src/main/scala/com/gu/monitoring/Metrics.scala x: 27 lines of code y: 5 # changes membership-common/src/main/scala/com/gu/monitoring/SafeLogger.scala x: 62 lines of code y: 6 # changes membership-common/src/main/scala/com/gu/monitoring/SalesforceMetrics.scala x: 20 lines of code y: 5 # changes membership-common/src/main/scala/com/gu/monitoring/ZuoraMetrics.scala x: 15 lines of code y: 5 # changes membership-common/src/main/scala/com/gu/salesforce/Scalaforce.scala x: 142 lines of code y: 9 # changes membership-common/src/main/scala/com/gu/memsub/promo/Promotion.scala x: 4 lines of code y: 5 # changes membership-attribute-service/app/monitoring/CloudWatch.scala x: 28 lines of code y: 13 # changes membership-attribute-service/app/services/DynamoSupporterProductDataService.scala x: 71 lines of code y: 15 # changes membership-attribute-service/app/monitoring/Metrics.scala x: 23 lines of code y: 18 # changes membership-attribute-service/app/filters/AddEC2InstanceHeader.scala x: 14 lines of code y: 17 # changes membership-attribute-service/app/filters/CheckCacheHeadersFilter.scala x: 19 lines of code y: 12 # changes membership-attribute-service/app/monitoring/BatchedMetrics.scala x: 27 lines of code y: 7 # changes membership-attribute-service/conf/riff-raff.yaml x: 21 lines of code y: 11 # changes membership-common/src/main/scala/com/gu/memsub/util/FutureRetry.scala x: 12 lines of code y: 5 # changes project/MembershipCommonDependencies.scala x: 50 lines of code y: 6 # changes project/plugins.sbt x: 8 lines of code y: 40 # changes membership-common/src/main/scala/com/gu/lib/DateDSL.scala x: 19 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/memsub/BillingPeriod.scala x: 79 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/memsub/NormalisedTelephoneNumber.scala x: 25 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/memsub/PaymentMethod.scala x: 33 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/salesforce/Contact.scala x: 27 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/salesforce/ContactDeserializer.scala x: 60 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/salesforce/ContactRecordType.scala x: 21 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/salesforce/SalesforceConfig.scala x: 24 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/salesforce/job/Action.scala x: 38 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/salesforce/job/Reader.scala x: 51 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/stripe/Stripe.scala x: 162 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/zuora/ZuoraLookup.scala x: 258 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/zuora/soap/Readers.scala x: 216 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/zuora/soap/ServiceHelpers.scala x: 9 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/zuora/soap/ZuoraFilters.scala x: 17 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/zuora/soap/actions/Action.scala x: 37 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/zuora/soap/models/Errors.scala x: 118 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/zuora/soap/models/Query.scala x: 113 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/zuora/soap/models/Result.scala x: 11 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/zuora/soap/readers/Result.scala x: 23 lines of code y: 3 # changes membership-common/src/main/scala/com/gu/memsub/FullName.scala x: 7 lines of code y: 1 # changes membership-common/src/main/scala/com/gu/memsub/PaymentCardUpdateResult.scala x: 4 lines of code y: 1 # changes membership-common/src/main/scala/com/gu/memsub/Price.scala x: 23 lines of code y: 1 # changes membership-common/src/main/scala/com/gu/salesforce/job/Result.scala x: 16 lines of code y: 1 # changes membership-common/src/main/scala/com/gu/zuora/soap/models/PaymentSummary.scala x: 14 lines of code y: 1 # changes membership-common/src/main/scala/com/gu/zuora/soap/package.scala x: 10 lines of code y: 1 # changes membership-common/src/main/scala/com/gu/zuora/soap/readers/Query.scala x: 18 lines of code y: 1 # changes membership-common/src/main/scala/com/gu/zuora/soap/readers/Reader.scala x: 28 lines of code y: 1 # changes membership-attribute-service/app/utils/OptionTEither.scala x: 22 lines of code y: 3 # changes membership-attribute-service/app/services/mail/AwsSQSSend.scala x: 26 lines of code y: 2 # changes membership-attribute-service/app/json/PaymentCardUpdateResultWriters.scala x: 26 lines of code y: 14 # changes membership-attribute-service/app/configuration/SentryConfig.scala x: 7 lines of code y: 3 # changes membership-attribute-service/app/models/DeliveryAddress.scala x: 42 lines of code y: 12 # changes membership-attribute-service/app/services/SalesforceService.scala x: 5 lines of code y: 5 # changes membership-attribute-service/app/json/package.scala x: 18 lines of code y: 11 # changes membership-attribute-service/app/models/ContributionData.scala x: 21 lines of code y: 7 # changes membership-attribute-service/app/models/Features.scala x: 25 lines of code y: 28 # changes membership-attribute-service/app/models/Fixtures.scala x: 1 lines of code y: 10 # changes membership-attribute-service/app/utils/SimpleEitherT.scala x: 29 lines of code y: 5 # changes membership-attribute-service/app/utils/ListTEither.scala x: 34 lines of code y: 5 # changes membership-attribute-service/app/configuration/ApplicationName.scala x: 4 lines of code y: 2 # changes membership-attribute-service/app/configuration/CreateTestUsernames.scala x: 7 lines of code y: 2 # changes membership-attribute-service/app/configuration/Stage.scala x: 2 lines of code y: 2 # changes membership-attribute-service/app/models/ApiErrors.scala x: 37 lines of code y: 8 # changes membership-attribute-service/app/services/AuthenticationService.scala x: 13 lines of code y: 10 # changes membership-attribute-service/app/models/DynamoSupporterRatePlanItem.scala x: 17 lines of code y: 10 # changes membership-attribute-service/app/models/AccessScope.scala x: 13 lines of code y: 1 # changes membership-attribute-service/app/controllers/Cached.scala x: 28 lines of code y: 6 # changes membership-attribute-service/app/models/ApiError.scala x: 18 lines of code y: 10 # changes membership-attribute-service/app/models/MobileSubscriptionStatus.scala x: 17 lines of code y: 5 # changes membership-attribute-service/app/models/SupportReminders.scala x: 30 lines of code y: 7 # changes membership-attribute-service/app/services/HealthCheckableService.scala x: 5 lines of code y: 3 # changes
268.0
# changes
  min: 1.0
  average: 16.71
  25th percentile: 3.0
  median: 6.0
  75th percentile: 14.0
  max: 268.0
0 552.0
lines of code
min: 1.0 | average: 62.08 | 25th percentile: 15.25 | median: 32.0 | 75th percentile: 67.25 | max: 552.0

Number of Contributors vs. Number of Changes: 168 points

membership-common/src/main/scala/com/gu/memsub/subsv2/Subscription.scala x: 5 # contributors y: 20 # changes membership-attribute-service/app/models/AccountDetails.scala x: 30 # contributors y: 127 # changes membership-attribute-service/app/services/GuardianPatronService.scala x: 6 # contributors y: 32 # changes membership-attribute-service/app/controllers/PaymentUpdateController.scala x: 14 # contributors y: 55 # changes membership-attribute-service/app/models/GatewayOwner.scala x: 3 # contributors y: 3 # changes membership-common/src/main/scala/com/gu/zuora/api/PaymentGateway.scala x: 7 # contributors y: 9 # changes membership-attribute-service/app/components/TouchpointComponents.scala x: 27 # contributors y: 143 # changes membership-attribute-service/app/services/stripe/ChooseStripe.scala x: 4 # contributors y: 6 # changes membership-common/src/main/scala/com/gu/touchpoint/TouchpointBackendConfig.scala x: 4 # contributors y: 8 # changes membership-attribute-service/app/controllers/AttributeController.scala x: 34 # contributors y: 205 # changes project/Dependencies.scala x: 51 # contributors y: 268 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/services/SubscriptionService.scala x: 5 # contributors y: 22 # changes membership-attribute-service/app/controllers/AccountController.scala x: 33 # contributors y: 195 # changes membership-attribute-service/app/services/subscription/CancelSubscription.scala x: 5 # contributors y: 14 # changes membership-attribute-service/app/models/Attributes.scala x: 26 # contributors y: 85 # changes membership-attribute-service/app/models/SelfServiceCancellation.scala x: 10 # contributors y: 23 # changes membership-attribute-service/app/services/AccountDetailsFromZuora.scala x: 6 # contributors y: 43 # changes membership-attribute-service/app/services/SupporterRatePlanToAttributesMapper.scala x: 10 # contributors y: 57 # changes membership-attribute-service/app/models/FeastApp.scala x: 3 # contributors y: 21 # changes membership-attribute-service/app/services/PaymentDetailsForSubscription.scala x: 4 # contributors y: 24 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/services/CatalogService.scala x: 3 # contributors y: 14 # changes membership-attribute-service/app/services/ContributionsStoreDatabaseService.scala x: 7 # contributors y: 11 # changes membership-attribute-service/app/services/zuora/payment/PaymentService.scala x: 3 # contributors y: 11 # changes membership-attribute-service/app/services/zuora/rest/SimpleClientZuoraRestService.scala x: 4 # contributors y: 15 # changes membership-attribute-service/app/services/zuora/rest/ZuoraRestService.scala x: 4 # contributors y: 11 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/Plan.scala x: 4 # contributors y: 18 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/reads/SubJsonReads.scala x: 4 # contributors y: 12 # changes membership-common/src/main/scala/com/gu/services/model/PaymentDetails.scala x: 4 # contributors y: 14 # changes membership-common/src/main/scala/com/gu/zuora/ZuoraSoapService.scala x: 4 # contributors y: 13 # changes cloudformation/membership-attribute-service.yaml x: 24 # contributors y: 86 # changes membership-attribute-service/app/services/stripe/StripeService.scala x: 4 # contributors y: 7 # changes membership-attribute-service/app/services/zuora/payment/SetPaymentCard.scala x: 3 # contributors y: 6 # changes membership-common/src/main/scala/com/gu/stripe/StripeService.scala x: 4 # contributors y: 10 # changes membership-common/src/main/scala/com/gu/zuora/soap/actions/Actions.scala x: 3 # contributors y: 5 # changes membership-attribute-service/app/models/ExistingPaymentOption.scala x: 7 # contributors y: 17 # changes build.sbt x: 18 # contributors y: 54 # changes membership-attribute-service/app/components/TouchpointBackends.scala x: 8 # contributors y: 32 # changes membership-attribute-service/app/controllers/ExistingPaymentOptionsController.scala x: 8 # contributors y: 43 # changes membership-attribute-service/app/models/ProductsResponse.scala x: 3 # contributors y: 8 # changes membership-attribute-service/app/services/PaymentFailureAlerter.scala x: 13 # contributors y: 31 # changes membership-attribute-service/app/services/mail/Emails.scala x: 2 # contributors y: 8 # changes membership-attribute-service/app/wiring/AppLoader.scala x: 18 # contributors y: 64 # changes membership-common/src/main/scala/com/gu/memsub/subsv2/Catalog.scala x: 1 # contributors y: 3 # changes membership-attribute-service/app/actions/AuthAndBackendViaAuthLibAction.scala x: 9 # contributors y: 14 # changes membership-attribute-service/app/actions/AuthAndBackendViaIdapiAction.scala x: 8 # contributors y: 16 # changes membership-attribute-service/app/actions/CommonActions.scala x: 15 # contributors y: 41 # changes membership-attribute-service/app/filters/AddGuIdentityHeaders.scala x: 17 # contributors y: 23 # changes membership-attribute-service/app/filters/TestUserChecker.scala x: 1 # contributors y: 2 # changes membership-common/src/main/scala/com/gu/zuora/soap/Client.scala x: 3 # contributors y: 13 # changes membership-attribute-service/app/models/ContactAndSubscription.scala x: 6 # contributors y: 12 # changes membership-attribute-service/conf/logback.xml x: 8 # contributors y: 7 # changes membership-common/src/main/scala/com/gu/memsub/promo/LogImplicit.scala x: 2 # contributors y: 6 # changes membership-attribute-service/app/controllers/ContactController.scala x: 8 # contributors y: 19 # changes membership-attribute-service/app/controllers/HealthCheckController.scala x: 19 # contributors y: 34 # changes membership-attribute-service/app/models/UserFromToken.scala x: 5 # contributors y: 11 # changes membership-attribute-service/app/monitoring/ErrorHandling.scala x: 10 # contributors y: 21 # changes membership-attribute-service/app/monitoring/SentryLogging.scala x: 12 # contributors y: 27 # changes membership-attribute-service/app/services/IdentityAuthService.scala x: 14 # contributors y: 28 # changes membership-attribute-service/app/services/MobileSubscriptionService.scala x: 8 # contributors y: 18 # changes membership-attribute-service/app/services/mail/SendEmail.scala x: 2 # contributors y: 4 # changes membership-attribute-service/app/services/salesforce/SimpleContactRepository.scala x: 3 # contributors y: 10 # changes membership-common/src/main/scala/com/gu/salesforce/Scalaforce.scala x: 3 # contributors y: 9 # changes membership-attribute-service/app/monitoring/CloudWatch.scala x: 5 # contributors y: 13 # changes membership-attribute-service/app/monitoring/Metrics.scala x: 10 # contributors y: 18 # changes membership-attribute-service/app/filters/AddEC2InstanceHeader.scala x: 13 # contributors y: 17 # changes membership-attribute-service/app/filters/CheckCacheHeadersFilter.scala x: 11 # contributors y: 12 # changes membership-attribute-service/app/monitoring/BatchedMetrics.scala x: 3 # contributors y: 7 # changes membership-attribute-service/conf/riff-raff.yaml x: 8 # contributors y: 11 # changes project/plugins.sbt x: 23 # contributors y: 40 # changes membership-common/src/main/scala/com/gu/aws/package.scala x: 2 # contributors y: 3 # changes membership-common/src/main/scala/com/gu/memsub/FullName.scala x: 1 # contributors y: 1 # changes membership-attribute-service/app/json/PaymentCardUpdateResultWriters.scala x: 10 # contributors y: 14 # changes membership-attribute-service/app/models/DeliveryAddress.scala x: 7 # contributors y: 12 # changes membership-attribute-service/app/services/SalesforceService.scala x: 5 # contributors y: 5 # changes membership-attribute-service/app/json/package.scala x: 11 # contributors y: 11 # changes membership-attribute-service/app/models/ContributionData.scala x: 7 # contributors y: 7 # changes membership-attribute-service/app/models/Features.scala x: 20 # contributors y: 28 # changes membership-attribute-service/app/models/Fixtures.scala x: 10 # contributors y: 10 # changes membership-attribute-service/app/utils/SimpleEitherT.scala x: 2 # contributors y: 5 # changes membership-attribute-service/app/configuration/ApplicationName.scala x: 2 # contributors y: 2 # changes membership-attribute-service/app/models/ApiErrors.scala x: 7 # contributors y: 8 # changes membership-attribute-service/app/services/AuthenticationService.scala x: 6 # contributors y: 10 # changes membership-attribute-service/app/controllers/Cached.scala x: 5 # contributors y: 6 # changes membership-attribute-service/app/models/ApiError.scala x: 8 # contributors y: 10 # changes
268.0
# changes
  min: 1.0
  average: 16.71
  25th percentile: 3.0
  median: 6.0
  75th percentile: 14.0
  max: 268.0
0 51.0
# contributors
min: 1.0 | average: 5.78 | 25th percentile: 2.0 | median: 3.0 | 75th percentile: 6.75 | max: 51.0

Number of Contributors vs. File Size: 168 points

membership-common/src/main/scala/com/gu/memsub/subsv2/Subscription.scala x: 5 # contributors y: 109 lines of code membership-attribute-service/app/models/AccountDetails.scala x: 30 # contributors y: 229 lines of code membership-attribute-service/app/services/GuardianPatronService.scala x: 6 # contributors y: 131 lines of code membership-attribute-service/app/controllers/PaymentUpdateController.scala x: 14 # contributors y: 203 lines of code membership-attribute-service/app/models/GatewayOwner.scala x: 3 # contributors y: 12 lines of code membership-common/src/main/scala/com/gu/zuora/api/PaymentGateway.scala x: 7 # contributors y: 54 lines of code membership-attribute-service/app/components/TouchpointComponents.scala x: 27 # contributors y: 173 lines of code membership-attribute-service/app/services/stripe/ChooseStripe.scala x: 4 # contributors y: 42 lines of code membership-common/src/main/scala/com/gu/touchpoint/TouchpointBackendConfig.scala x: 4 # contributors y: 34 lines of code membership-attribute-service/app/controllers/AttributeController.scala x: 34 # contributors y: 249 lines of code project/Dependencies.scala x: 51 # contributors y: 72 lines of code membership-common/src/main/scala/com/gu/memsub/subsv2/services/SubscriptionService.scala x: 5 # contributors y: 154 lines of code membership-attribute-service/app/controllers/AccountController.scala x: 33 # contributors y: 336 lines of code membership-attribute-service/app/services/subscription/CancelSubscription.scala x: 5 # contributors y: 44 lines of code membership-attribute-service/app/models/Attributes.scala x: 26 # contributors y: 133 lines of code membership-attribute-service/app/models/SelfServiceCancellation.scala x: 10 # contributors y: 45 lines of code membership-attribute-service/app/services/AccountDetailsFromZuora.scala x: 6 # contributors y: 210 lines of code membership-attribute-service/app/services/SupporterRatePlanToAttributesMapper.scala x: 10 # contributors y: 351 lines of code membership-common/src/main/scala/com/gu/config/SubsV2ProductIds.scala x: 5 # contributors y: 29 lines of code membership-common/src/main/scala/com/gu/memsub/ProductFamily.scala x: 5 # contributors y: 184 lines of code membership-attribute-service/app/models/FeastApp.scala x: 3 # contributors y: 28 lines of code membership-attribute-service/app/services/PaymentDetailsForSubscription.scala x: 4 # contributors y: 47 lines of code membership-common/src/main/scala/com/gu/memsub/subsv2/services/CatalogService.scala x: 3 # contributors y: 57 lines of code membership-attribute-service/app/services/ContributionsStoreDatabaseService.scala x: 7 # contributors y: 72 lines of code membership-attribute-service/app/services/zuora/payment/PaymentService.scala x: 3 # contributors y: 98 lines of code membership-attribute-service/app/services/zuora/rest/SimpleClientZuoraRestService.scala x: 4 # contributors y: 113 lines of code membership-attribute-service/app/services/zuora/rest/ZuoraRestService.scala x: 4 # contributors y: 370 lines of code membership-common/src/main/scala/com/gu/memsub/Subscription.scala x: 4 # contributors y: 16 lines of code membership-common/src/main/scala/com/gu/memsub/subsv2/Plan.scala x: 4 # contributors y: 194 lines of code membership-common/src/main/scala/com/gu/memsub/subsv2/reads/SubJsonReads.scala x: 4 # contributors y: 92 lines of code membership-common/src/main/scala/com/gu/services/model/PaymentDetails.scala x: 4 # contributors y: 60 lines of code membership-common/src/main/scala/com/gu/zuora/ZuoraSoapService.scala x: 4 # contributors y: 129 lines of code cloudformation/membership-attribute-service.yaml x: 24 # contributors y: 552 lines of code membership-attribute-service/app/services/stripe/StripeService.scala x: 4 # contributors y: 12 lines of code membership-attribute-service/app/services/zuora/payment/SetPaymentCard.scala x: 3 # contributors y: 49 lines of code membership-common/src/main/scala/com/gu/stripe/StripeService.scala x: 4 # contributors y: 62 lines of code membership-common/src/main/scala/com/gu/zuora/soap/actions/Actions.scala x: 3 # contributors y: 279 lines of code membership-common/src/main/scala/com/gu/zuora/soap/models/Commands.scala x: 3 # contributors y: 114 lines of code membership-common/src/main/scala/com/gu/zuora/soap/writers/Command.scala x: 3 # contributors y: 419 lines of code membership-attribute-service/app/models/ExistingPaymentOption.scala x: 7 # contributors y: 60 lines of code build.sbt x: 18 # contributors y: 88 lines of code membership-attribute-service/app/components/TouchpointBackends.scala x: 8 # contributors y: 61 lines of code membership-attribute-service/app/controllers/ExistingPaymentOptionsController.scala x: 8 # contributors y: 126 lines of code membership-attribute-service/app/models/ProductsResponse.scala x: 3 # contributors y: 20 lines of code membership-attribute-service/app/services/PaymentFailureAlerter.scala x: 13 # contributors y: 126 lines of code membership-attribute-service/app/services/mail/Emails.scala x: 2 # contributors y: 72 lines of code membership-attribute-service/app/wiring/AppLoader.scala x: 18 # contributors y: 121 lines of code membership-common/src/main/scala/com/gu/memsub/PricingSummary.scala x: 3 # contributors y: 7 lines of code membership-common/src/main/scala/com/gu/memsub/subsv2/Catalog.scala x: 1 # contributors y: 10 lines of code membership-common/src/main/scala/com/gu/memsub/subsv2/reads/CommonReads.scala x: 3 # contributors y: 38 lines of code membership-common/src/main/scala/com/gu/zuora/rest/Readers.scala x: 3 # contributors y: 40 lines of code membership-common/src/main/scala/com/gu/zuora/rest/package.scala x: 3 # contributors y: 30 lines of code membership-attribute-service/app/actions/AuthAndBackendViaAuthLibAction.scala x: 9 # contributors y: 29 lines of code membership-attribute-service/app/actions/AuthAndBackendViaIdapiAction.scala x: 8 # contributors y: 65 lines of code membership-attribute-service/app/actions/CommonActions.scala x: 15 # contributors y: 54 lines of code membership-attribute-service/app/filters/AddGuIdentityHeaders.scala x: 17 # contributors y: 33 lines of code membership-attribute-service/app/filters/TestUserChecker.scala x: 1 # contributors y: 13 lines of code membership-common/src/main/scala/com/gu/memsub/BillingSchedule.scala x: 3 # contributors y: 89 lines of code membership-common/src/main/scala/com/gu/zuora/soap/Client.scala x: 3 # contributors y: 86 lines of code membership-attribute-service/app/models/ContactAndSubscription.scala x: 6 # contributors y: 8 lines of code membership-attribute-service/conf/logback.xml x: 8 # contributors y: 32 lines of code membership-common/src/main/scala/com/gu/memsub/util/WebServiceHelper.scala x: 3 # contributors y: 77 lines of code membership-common/src/main/scala/com/gu/memsub/promo/LogImplicit.scala x: 2 # contributors y: 22 lines of code membership-attribute-service/app/controllers/ContactController.scala x: 8 # contributors y: 87 lines of code membership-attribute-service/app/controllers/HealthCheckController.scala x: 19 # contributors y: 35 lines of code membership-attribute-service/app/loghandling/DeprecatedRequestLogger.scala x: 4 # contributors y: 10 lines of code membership-attribute-service/app/monitoring/ErrorHandling.scala x: 10 # contributors y: 51 lines of code membership-attribute-service/app/monitoring/SentryLogging.scala x: 12 # contributors y: 32 lines of code membership-attribute-service/app/services/IdentityAuthService.scala x: 14 # contributors y: 68 lines of code membership-attribute-service/app/services/MobileSubscriptionService.scala x: 8 # contributors y: 47 lines of code membership-attribute-service/app/services/mail/SendEmail.scala x: 2 # contributors y: 11 lines of code membership-attribute-service/app/services/mail/SqsAsync.scala x: 2 # contributors y: 52 lines of code membership-attribute-service/app/services/salesforce/ContactRepository.scala x: 3 # contributors y: 10 lines of code membership-attribute-service/app/services/salesforce/SimpleContactRepository.scala x: 3 # contributors y: 52 lines of code membership-common/src/main/scala/com/gu/aws/AwsS3Client.scala x: 2 # contributors y: 29 lines of code membership-common/src/main/scala/com/gu/identity/IdapiService.scala x: 3 # contributors y: 61 lines of code membership-common/src/main/scala/com/gu/memsub/util/Timing.scala x: 2 # contributors y: 18 lines of code membership-common/src/main/scala/com/gu/monitoring/CloudWatch.scala x: 3 # contributors y: 45 lines of code membership-common/src/main/scala/com/gu/monitoring/SafeLogger.scala x: 2 # contributors y: 62 lines of code membership-common/src/main/scala/com/gu/monitoring/ZuoraMetrics.scala x: 3 # contributors y: 15 lines of code membership-common/src/main/scala/com/gu/salesforce/Scalaforce.scala x: 3 # contributors y: 142 lines of code membership-common/src/main/scala/com/gu/memsub/promo/Promotion.scala x: 3 # contributors y: 4 lines of code membership-attribute-service/app/monitoring/CloudWatch.scala x: 5 # contributors y: 28 lines of code membership-attribute-service/app/services/DynamoSupporterProductDataService.scala x: 4 # contributors y: 71 lines of code membership-attribute-service/app/monitoring/Metrics.scala x: 10 # contributors y: 23 lines of code membership-attribute-service/app/filters/AddEC2InstanceHeader.scala x: 13 # contributors y: 14 lines of code membership-attribute-service/app/filters/CheckCacheHeadersFilter.scala x: 11 # contributors y: 19 lines of code membership-attribute-service/app/monitoring/CreateMetrics.scala x: 3 # contributors y: 32 lines of code membership-attribute-service/conf/riff-raff.yaml x: 8 # contributors y: 21 lines of code project/plugins.sbt x: 23 # contributors y: 8 lines of code membership-common/src/main/scala/com/gu/aws/package.scala x: 2 # contributors y: 10 lines of code membership-common/src/main/scala/com/gu/memsub/BillingPeriod.scala x: 2 # contributors y: 79 lines of code membership-common/src/main/scala/com/gu/memsub/NormalisedTelephoneNumber.scala x: 2 # contributors y: 25 lines of code membership-common/src/main/scala/com/gu/memsub/PaymentMethod.scala x: 2 # contributors y: 33 lines of code membership-common/src/main/scala/com/gu/salesforce/Contact.scala x: 2 # contributors y: 27 lines of code membership-common/src/main/scala/com/gu/salesforce/ContactDeserializer.scala x: 2 # contributors y: 60 lines of code membership-common/src/main/scala/com/gu/salesforce/ContactRecordType.scala x: 2 # contributors y: 21 lines of code membership-common/src/main/scala/com/gu/salesforce/job/Action.scala x: 2 # contributors y: 38 lines of code membership-common/src/main/scala/com/gu/stripe/Stripe.scala x: 2 # contributors y: 162 lines of code membership-common/src/main/scala/com/gu/zuora/ZuoraLookup.scala x: 2 # contributors y: 258 lines of code membership-common/src/main/scala/com/gu/zuora/soap/Readers.scala x: 2 # contributors y: 216 lines of code membership-common/src/main/scala/com/gu/zuora/soap/ZuoraFilters.scala x: 2 # contributors y: 17 lines of code membership-common/src/main/scala/com/gu/zuora/soap/models/Errors.scala x: 2 # contributors y: 118 lines of code membership-common/src/main/scala/com/gu/zuora/soap/models/Query.scala x: 2 # contributors y: 113 lines of code membership-common/src/main/scala/com/gu/memsub/FullName.scala x: 1 # contributors y: 7 lines of code membership-common/src/main/scala/com/gu/memsub/PaymentCardUpdateResult.scala x: 1 # contributors y: 4 lines of code membership-common/src/main/scala/com/gu/memsub/Price.scala x: 1 # contributors y: 23 lines of code membership-common/src/main/scala/com/gu/salesforce/job/Result.scala x: 1 # contributors y: 16 lines of code membership-common/src/main/scala/com/gu/zuora/soap/models/PaymentSummary.scala x: 1 # contributors y: 14 lines of code membership-common/src/main/scala/com/gu/zuora/soap/readers/Query.scala x: 1 # contributors y: 18 lines of code membership-common/src/main/scala/com/gu/zuora/soap/readers/Reader.scala x: 1 # contributors y: 28 lines of code membership-attribute-service/app/services/mail/AwsSQSSend.scala x: 1 # contributors y: 26 lines of code membership-attribute-service/app/json/PaymentCardUpdateResultWriters.scala x: 10 # contributors y: 26 lines of code membership-attribute-service/app/configuration/SentryConfig.scala x: 2 # contributors y: 7 lines of code membership-attribute-service/app/models/DeliveryAddress.scala x: 7 # contributors y: 42 lines of code membership-attribute-service/app/services/SalesforceService.scala x: 5 # contributors y: 5 lines of code membership-attribute-service/app/models/ContributionData.scala x: 7 # contributors y: 21 lines of code membership-attribute-service/app/models/Features.scala x: 20 # contributors y: 25 lines of code membership-attribute-service/app/models/Fixtures.scala x: 10 # contributors y: 1 lines of code membership-attribute-service/app/configuration/ApplicationName.scala x: 2 # contributors y: 4 lines of code membership-attribute-service/app/configuration/Stage.scala x: 2 # contributors y: 2 lines of code membership-attribute-service/app/models/ApiErrors.scala x: 7 # contributors y: 37 lines of code membership-attribute-service/app/services/AuthenticationService.scala x: 6 # contributors y: 13 lines of code membership-attribute-service/app/models/ApiError.scala x: 8 # contributors y: 18 lines of code membership-attribute-service/app/models/MobileSubscriptionStatus.scala x: 3 # contributors y: 17 lines of code membership-attribute-service/app/services/HealthCheckableService.scala x: 3 # contributors y: 5 lines of code
552.0
lines of code
  min: 1.0
  average: 62.08
  25th percentile: 15.25
  median: 32.0
  75th percentile: 67.25
  max: 552.0
0 51.0
# contributors
min: 1.0 | average: 5.78 | 25th percentile: 2.0 | median: 3.0 | 75th percentile: 6.75 | max: 51.0