File: _issues_calendar.ics.ruby

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (22 lines) | stat: -rw-r--r-- 675 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# rubocop:disable Naming/FileName
# frozen_string_literal: true

cal = Icalendar::Calendar.new
cal.prodid = '-//GitLab//NONSGML GitLab//EN'
cal.x_wr_calname = 'GitLab Issues'

# rubocop: disable CodeReuse/ActiveRecord
@issues.preload(project: :namespace).each do |issue|
  cal.event do |event|
    event.dtstart     = Icalendar::Values::Date.new(issue.due_date)
    event.summary     = "#{issue.title} (in #{issue.project.full_path})"
    event.description = "Find out more at #{issue_url(issue)}"
    event.url         = issue_url(issue)
    event.transp      = 'TRANSPARENT'
  end
end
# rubocop: enable CodeReuse/ActiveRecord

cal.to_ical

# rubocop:enable Naming/FileName