Sha256: a716e689010a732530df0e46a93900e965fe20d7ab0d2a80152fce32f5a55c8a

Contents?: true

Size: 855 Bytes

Versions: 4

Compression:

Stored size: 855 Bytes

Contents

# frozen_string_literal: true

require_relative 'base'
require_relative 'label'
require 'date'
require 'time'

module Gitlab
  module Triage
    module Resource
      class LabelEvent < Base
        FIELDS = %i[
          id
          resource_type
          resource_id
          action
        ].freeze

        TIME_FIELDS = %i[
          created_at
        ].freeze

        FIELDS.each do |field|
          define_field(field) do
            resource[field]
          end
        end

        TIME_FIELDS.each do |field|
          define_field(field) do
            value = resource[field]

            Time.parse(value) if value
          end
        end

        def label
          @label ||= Label.new(
            resource[:label].reverse_merge(added_at: resource[:created_at]),
            parent: self)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
gitlab-triage-1.0.0 lib/gitlab/triage/resource/label_event.rb
gitlab-triage-0.17.0 lib/gitlab/triage/resource/label_event.rb
gitlab-triage-0.16.0 lib/gitlab/triage/resource/label_event.rb
gitlab-triage-0.15.0 lib/gitlab/triage/resource/label_event.rb