• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pulibrary / tigerdata-app / 93cce249-3dee-4f64-bd68-4e50b5cbf48e

21 Oct 2025 09:49PM UTC coverage: 82.779% (+1.5%) from 81.319%
93cce249-3dee-4f64-bd68-4e50b5cbf48e

push

circleci

web-flow
Stop mediaflux when we stop everything else (#2066)

Ref #2065

2490 of 3008 relevant lines covered (82.78%)

226.2 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

73.33
/app/services/pul_datacite.rb
1
# frozen_string_literal: true
2
class PULDatacite
3✔
3
  class << self
3✔
4
    # Determines whether or not a test DOI should be referenced
5
    # (this avoids requests to the DOI API endpoint for non-production deployments)
6
    # @return [Boolean]
7
    def publish_test_doi?
3✔
8
      (Rails.env.development? || Rails.env.test?) && Rails.configuration.datacite.user.blank?
42✔
9
    end
10
  end
11

12
  attr_reader :datacite_connection
3✔
13

14
  def initialize
3✔
15
    @datacite_connection = Datacite::Client.new(username: Rails.configuration.datacite.user,
42✔
16
                                                password: Rails.configuration.datacite.password,
17
                                                host: Rails.configuration.datacite.host)
18
  end
19

20
  def draft_doi
3✔
21
    if PULDatacite.publish_test_doi?
42✔
22
      Rails.logger.info "Using hard-coded test DOI during development."
42✔
23
      "10.34770/tbd"
42✔
24
    else
25
      result = datacite_connection.autogenerate_doi(prefix: Rails.configuration.datacite.prefix)
×
26
      if result.success?
×
27
        result.success.doi
×
28
      else
29
        raise("Error generating DOI. #{result.failure.status} / #{result.failure.reason_phrase}")
×
30
      end
31
    end
32
  end
33
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc