summaryrefslogtreecommitdiff
path: root/app/models/jira_import_data.rb
blob: 3f882deb24d54b696d3552554d16a139ed1e4bdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# frozen_string_literal: true

class JiraImportData < ProjectImportData
  JiraProjectDetails = Struct.new(:key, :scheduled_at, :scheduled_by)

  def projects
    return [] unless data

    projects = data.dig('jira', 'projects').map do |p|
      JiraProjectDetails.new(p['key'], p['scheduled_at'], p['scheduled_by'])
    end
    projects.sort_by { |jp| jp.scheduled_at }
  end

  def <<(project)
    self.data ||= { jira: { projects: [] } }
    self.data['jira']['projects'] << project.to_h.deep_stringify_keys!
  end
end