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

pulibrary / tigerdata-app / 3c95d035-2719-460b-89ff-213dee6c3e40

10 Nov 2025 08:57PM UTC coverage: 88.974% (-2.4%) from 91.371%
3c95d035-2719-460b-89ff-213dee6c3e40

push

circleci

web-flow
Enforce the title requirement to save a draft request (#2172)

ref #2129

2784 of 3129 relevant lines covered (88.97%)

508.97 hits per line

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

92.86
/app/presenters/project_dashboard_presenter.rb
1
# frozen_string_literal: true
2
class ProjectDashboardPresenter < ProjectShowPresenter
3✔
3
  include ActionView::Helpers::DateHelper
3✔
4

5
  delegate :to_model, :updated_at, to: :project
3✔
6

7
  def type
3✔
8
    if storage_performance_expectations["approved"].nil?
168✔
9
      "Requested #{storage_performance_expectations['requested']}"
1✔
10
    else
11
      storage_performance_expectations["approved"]
167✔
12
    end
13
  end
14

15
  def latest_file_list_time
3✔
16
    requests = FileInventoryRequest.where(project_id: project.id).order(completion_time: :desc)
169✔
17
    if requests.empty?
169✔
18
      "No Downloads"
165✔
19
    elsif requests.first.completion_time
4✔
20
      "Prepared #{time_ago_in_words(requests.first.completion_time)} ago"
3✔
21
    else
22
      "Preparing now"
1✔
23
    end
24
  end
25

26
  def last_activity
3✔
27
    if project_metadata.updated_on.nil?
166✔
28
      "Not yet active"
166✔
29
    else
30
      "#{remove_about time_ago_in_words(project_metadata.updated_on)} ago"
×
31
    end
32
  end
33

34
  def role(user)
3✔
35
    if data_sponsor.uid == user.uid
169✔
36
      "Sponsor"
91✔
37
    elsif data_manager.uid == user.uid
78✔
38
      "Data Manager"
43✔
39
    else
40
      "Data User"
35✔
41
    end
42
  end
43

44
  def path
3✔
45
    project_directory
83✔
46
  end
47

48
  # Removes "about" (as in "about 1 month ago") from time_ago_in_words
49
  def remove_about(time_ago)
3✔
50
    time_ago.gsub("about ", "")
×
51
  end
52
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