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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ea72dd302f243abc5aaa0da86d414580675387042d714f1a60fa9addfe8e9a70
4
- data.tar.gz: '09633905c14bfb956572d30a2a831be6df7fc56c8f95232a6a7cb8637b18b8be'
3
+ metadata.gz: 538f8ba632b6f0b3990005e4b685dd6ae566cd6c7716f873ffffce71374762f6
4
+ data.tar.gz: a6caf3ed9674d00f32bb63663d654bb32f98f2c958ca9002cb707f5c778705eb
5
5
  SHA512:
6
- metadata.gz: b24e9117c568b82350034ea63188091a1fe5f82a8c4db26c6af3fe20626023f67c7317bf736bf434b13f0ae64d9cb2154561a4a7d7a212f99c48aa2cf3b0f8c9
7
- data.tar.gz: 53699c7aac11b4e18bd45d9946c847dd79b0ae6c63509b1d58eb9baf6a61449480da94e30f83a7df5f079cd70b781cb0b97d59b40a6a96a07031e9008ba8cbdd
6
+ metadata.gz: 3897f73ce91ee6ccb0e41d9831f4fb812ed305d1a79e35bde091cc58d209718fb660a5a6cd0175365d1b3c77ff75b74f3fd04fb7865fd636fc7b886688527fbb
7
+ data.tar.gz: f0c988a409b17630d786b79a17b5e02204c42693e419861948502db001d959eedd90101c80faf5131d5475ed9aee85376923cb8a89f00d40643331f42576d613
@@ -15,7 +15,7 @@ jobs:
15
15
  - uses: actions/checkout@v6
16
16
  - uses: ruby/setup-ruby@v1
17
17
  with:
18
- ruby-version: 3.4.7
18
+ ruby-version: 3.4.8
19
19
  bundler-cache: true
20
20
  - run: bundle config set --global path "$(pwd)/vendor/bundle"
21
21
  - run: bundle install --no-color
@@ -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
@@ -10,5 +10,5 @@
10
10
  # License:: MIT
11
11
  module Fbe
12
12
  # Current version of the gem (changed by +.rultor.yml+ on every release)
13
- VERSION = '0.47.0' unless const_defined?(:VERSION)
13
+ VERSION = '0.48.0' unless const_defined?(:VERSION)
14
14
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fbe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.47.0
4
+ version: 0.48.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko