Module: VarBlock::GetvarHandlers::VarArrayHandler

Extended by:
Support
Defined in:
lib/var_block/getvar_handlers.rb

Class Method Summary collapse

Methods included from Support

array_wrap

Class Method Details

.handle(value, context, options) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/var_block/getvar_handlers.rb', line 30

def handle(value, context, options)
  if options.any? 
    return handle_options(value, context, options)

  # else, if no options, defaults to return as a wrapped Array
  else
    merged_values = []

    value.each do |v|
      if v.is_a? Proc
        merged_values = merged_values + array_wrap(ProcHandler.handle(v, context))
      else
        merged_values = merged_values + array_wrap(DefaultHandler.handle(v))
      end
    end

    return merged_values
  end
end