fbe 0.47.0 → 0.48.0
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 +4 -4
- data/.github/workflows/codecov.yml +1 -1
- data/lib/fbe/github_graph.rb +42 -0
- data/lib/fbe.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 538f8ba632b6f0b3990005e4b685dd6ae566cd6c7716f873ffffce71374762f6
|
|
4
|
+
data.tar.gz: a6caf3ed9674d00f32bb63663d654bb32f98f2c958ca9002cb707f5c778705eb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3897f73ce91ee6ccb0e41d9831f4fb812ed305d1a79e35bde091cc58d209718fb660a5a6cd0175365d1b3c77ff75b74f3fd04fb7865fd636fc7b886688527fbb
|
|
7
|
+
data.tar.gz: f0c988a409b17630d786b79a17b5e02204c42693e419861948502db001d959eedd90101c80faf5131d5475ed9aee85376923cb8a89f00d40643331f42576d613
|
data/lib/fbe/github_graph.rb
CHANGED
|
@@ -462,6 +462,44 @@ class Fbe::Graph
|
|
|
462
462
|
}
|
|
463
463
|
end
|
|
464
464
|
|
|
465
|
+
# Get total count releases from the specified date
|
|
466
|
+
#
|
|
467
|
+
# @param [String] owner The repository owner (username or organization)
|
|
468
|
+
# @param [String] name The repository name
|
|
469
|
+
# @param [Time] since The datetime from
|
|
470
|
+
# @return [Hash] A hash with total releases
|
|
471
|
+
def total_releases_published(owner, name, since)
|
|
472
|
+
total = 0
|
|
473
|
+
cursor = nil
|
|
474
|
+
loop do
|
|
475
|
+
result = query(
|
|
476
|
+
<<~GRAPHQL
|
|
477
|
+
{
|
|
478
|
+
repository(owner: "#{owner}", name: "#{name}") {
|
|
479
|
+
releases(first: 25, after: "#{cursor}", orderBy: { field: CREATED_AT, direction: DESC }) {
|
|
480
|
+
nodes {
|
|
481
|
+
isDraft
|
|
482
|
+
publishedAt
|
|
483
|
+
}
|
|
484
|
+
pageInfo {
|
|
485
|
+
endCursor
|
|
486
|
+
hasNextPage
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
GRAPHQL
|
|
492
|
+
).to_h
|
|
493
|
+
releases = result.dig('repository', 'releases', 'nodes')
|
|
494
|
+
break if releases.nil? || releases.empty?
|
|
495
|
+
total += releases.count { !_1['isDraft'] && _1['publishedAt'] && Time.parse(_1['publishedAt']) > since }
|
|
496
|
+
break if releases.all? { _1['publishedAt'] && Time.parse(_1['publishedAt']) < since }
|
|
497
|
+
break unless result.dig('repository', 'releases', 'pageInfo', 'hasNextPage')
|
|
498
|
+
cursor = result.dig('repository', 'releases', 'pageInfo', 'endCursor')
|
|
499
|
+
end
|
|
500
|
+
{ 'releases' => total }
|
|
501
|
+
end
|
|
502
|
+
|
|
465
503
|
private
|
|
466
504
|
|
|
467
505
|
# Creates or returns a cached GraphQL client instance.
|
|
@@ -704,6 +742,10 @@ class Fbe::Graph
|
|
|
704
742
|
}
|
|
705
743
|
end
|
|
706
744
|
|
|
745
|
+
def total_releases_published(_owner, _name, _since)
|
|
746
|
+
{ 'releases' => 7 }
|
|
747
|
+
end
|
|
748
|
+
|
|
707
749
|
private
|
|
708
750
|
|
|
709
751
|
# Generates mock conversation thread data.
|
data/lib/fbe.rb
CHANGED