Class: MediaTypes::Registrar

Inherits:
Object
  • Object
show all
Defined in:
lib/media_types/registrar.rb

Overview

Holds all the configuration options in order to call register exactly enough times to register the media type in its entirety.

See Also:

Instance Method Summary collapse

Constructor Details

#initialize(klazz, symbol: nil, &block) ⇒ Registrar

Creates a new registry with default values



42
43
44
45
46
47
48
49
50
51
# File 'lib/media_types/registrar.rb', line 42

def initialize(klazz, symbol: nil, &block)
  self.base_media_type = klazz.to_constructable

  self.registered_views = symbol ? { nil => { symbol: String(symbol).to_sym } } : {}
  self.registered_versions = [base_media_type.version]
  self.registered_aliases = []
  self.registered_suffixes = [String(base_media_type.suffix).to_sym]

  instance_exec(&block) if block_given?
end

Instance Method Details

#to_aArray<Registerable>

Resolves all the permutations and returns a list of MediaTypes::Registerable



58
59
60
61
62
63
64
65
66
# File 'lib/media_types/registrar.rb', line 58

def to_a
  result = []

  each_resolved do |media_type, symbol|
    result << Registerable.new(media_type, symbol: symbol, aliases: aliases(media_type))
  end

  result
end