Module: Brainstem::Concerns::Formattable

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#formattersObject



16
17
18
# File 'lib/brainstem/concerns/formattable.rb', line 16

def formatters
  @formatters ||= ::Brainstem::ApiDocs::FORMATTERS[formatter_type]
end

Instance Method Details

#formatted_as(format, options = {}) ⇒ Object



21
22
23
# File 'lib/brainstem/concerns/formattable.rb', line 21

def formatted_as(format, options = {})
  formatters[format].call(self, options)
end

#formatter_typeObject

Declares the type of formatter that should be used to format an entity of this class.



30
31
32
33
34
35
# File 'lib/brainstem/concerns/formattable.rb', line 30

def formatter_type
  self.class.to_s
    .demodulize
    .underscore
    .to_sym
end

#valid_optionsObject



11
12
13
# File 'lib/brainstem/concerns/formattable.rb', line 11

def valid_options
  super | [ :formatters ]
end