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

pulibrary / tigerdata-app / 58384df5-4328-40b4-9cad-0ff5f77cb960

27 Oct 2025 02:45PM UTC coverage: 91.291%. Remained the same
58384df5-4328-40b4-9cad-0ff5f77cb960

push

circleci

web-flow
Place the file path on its own line on the project dashboard (#2097)

Co-authored-by: Hector Correa <hector_correa@princeton.edu>

2757 of 3020 relevant lines covered (91.29%)

752.67 hits per line

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

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

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

7
  delegate :data_sponsor, :data_manager, to: :project_metadata
4✔
8

9
  def type
4✔
10
    if storage_performance_expectations["approved"].nil?
356✔
11
      "Requested #{storage_performance_expectations['requested']}"
6✔
12
    else
13
      storage_performance_expectations["approved"]
350✔
14
    end
15
  end
16

17
  def latest_file_list_time
4✔
18
    requests = FileInventoryRequest.where(project_id: project.id).order(completion_time: :desc)
358✔
19
    if requests.empty?
358✔
20
      "No Downloads"
350✔
21
    elsif requests.first.completion_time
8✔
22
      "Prepared #{time_ago_in_words(requests.first.completion_time)} ago"
6✔
23
    else
24
      "Preparing now"
2✔
25
    end
26
  end
27

28
  def last_activity
4✔
29
    if project_metadata.updated_on.nil?
354✔
30
      "Not yet active"
8✔
31
    else
32
      "#{remove_about time_ago_in_words(project_metadata.updated_on)} ago"
346✔
33
    end
34
  end
35

36
  def role(user)
4✔
37
    if data_sponsor == user.uid
352✔
38
      "Sponsor"
100✔
39
    elsif data_manager == user.uid
252✔
40
      "Data Manager"
88✔
41
    else
42
      "Data User"
164✔
43
    end
44
  end
45

46
  def path
4✔
47
    "/#{project_metadata.project_directory}"
176✔
48
  end
49

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