Spaces:
Build error
Build error
module Fields | |
class Submission | |
UNIVERSAL_FIELD = :* | |
attr_reader :requested_fields, :invalid_fields | |
def initialize(fields) | |
@invalid_fields = [] | |
fields = fields.to_s.split(",").collect(&:to_sym) | |
fields.each do |field| | |
if field != UNIVERSAL_FIELD && !available_fields.include?(field) | |
@invalid_fields << field | |
end | |
end | |
if fields.include?(UNIVERSAL_FIELD) | |
@requested_fields = available_fields | |
else | |
@requested_fields = (fields - @invalid_fields).presence || default_fields | |
end | |
end | |
def has_invalid_fields? | |
!@invalid_fields.empty? | |
end | |
def available_fields | |
serializer._attributes | |
end | |
def default_fields | |
serializer.default_fields | |
end | |
def serializer | |
SubmissionSerializer | |
end | |
end | |
end |