Module: Brainstem::Concerns::Formattable

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#formattersObject



13
14
15
# File 'lib/brainstem/concerns/formattable.rb', line 13

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

Instance Method Details

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



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

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.



25
26
27
28
29
30
# File 'lib/brainstem/concerns/formattable.rb', line 25

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

#valid_optionsObject



9
10
11
# File 'lib/brainstem/concerns/formattable.rb', line 9

def valid_options
  super | [ :formatters ]
end