Module: Serega::SeregaPlugins::Formatters::AttributeInstanceMethods

Defined in:
lib/serega/plugins/formatters/formatters.rb

Instance Method Summary collapse

Instance Method Details

#value_blockObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/serega/plugins/formatters/formatters.rb', line 21

def value_block
  return @value_block if instance_variable_defined?(:@value_block)

  original_block = super
  formatter = opts[:format]
  return original_block unless formatter

  new_value_block = formatted_block(formatter, original_block)

  # Detect formatted :const value in advance
  if opts.key?(:const)
    const_value = new_value_block.call
    new_value_block = proc { const_value }
  end

  @value_block = new_value_block
end