Method: MediaTypes::Serialization::Base::ClassMethods#output

Defined in:
lib/media_types/serialization/base.rb

#output(view: nil, version: nil, versions: nil, &block) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/media_types/serialization/base.rb', line 37

def output(view: nil, version: nil, versions: nil, &block)
  versions = [version] if versions.nil?
  raise VersionsNotAnArrayError unless versions.is_a? Array

  raise ValidatorNotSpecifiedError, :output if serializer_validator.nil?

  unless serializer_output_registrations.has_key? view
    serializer_output_registrations[view] = SerializationRegistration.new(:output)
  end

  versions.each do |v|
    validator = serializer_validator.view(view).version(v)
    validator.override_suffix(:json) unless serializer_validated

    serializer_output_registrations[view].register_block(
      self,
      validator,
      v,
      block,
      false,
      wildcards:
      !serializer_disable_wildcards
    )
  end
end