src/api/app/models/owner.rb
require 'api_error'
class Owner
def self.attribute_names
%i[rootproject project package filter users groups]
end
include ActiveModel::Model
attr_accessor(*attribute_names)
def user_or_group?
users.present? || groups.present?
end
def to_hash
# The same implemented as one-liner, but code climate doesn't like
# Hash[*(Owner.attribute_names.map {|a| [a, send(a)] }.select {|a| !a.last.nil? }.flatten(1))]
hash = {}
Owner.attribute_names.map do |a|
unless (value = send(a)).nil?
hash[a] = value
end
end
hash
end
end