Class: Legion::Registry::Entry

Inherits:
Object
  • Object
show all
Defined in:
lib/legion/registry.rb

Constant Summary collapse

ATTRS =
%i[name version author risk_tier permissions airb_status
description homepage checksum capabilities
status review_notes reject_reason successor sunset_date
submitted_at approved_at rejected_at deprecated_at].freeze

Instance Method Summary collapse

Constructor Details

#initialize(**attrs) ⇒ Entry

Returns a new instance of Entry.



15
16
17
18
19
20
21
22
# File 'lib/legion/registry.rb', line 15

def initialize(**attrs)
  ATTRS.each { |a| instance_variable_set(:"@#{a}", attrs[a]) }
  @risk_tier   ||= 'low'
  @airb_status ||= 'pending'
  @capabilities ||= []
  @permissions  ||= []
  @status       ||= :active
end

Instance Method Details

#approved?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/legion/registry.rb', line 24

def approved?
  airb_status == 'approved'
end

#deprecated?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/legion/registry.rb', line 28

def deprecated?
  %i[deprecated sunset].include?(status)
end

#pending_review?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/legion/registry.rb', line 32

def pending_review?
  status == :pending_review
end

#to_hObject



36
37
38
# File 'lib/legion/registry.rb', line 36

def to_h
  ATTRS.to_h { |a| [a, send(a)] }
end