class CanvasSync::JobBatches::ParamsMapper

def [](key)

def [](key)
  get_parameter(key)
end

def []=(key, value)

def []=(key, value)
  set_parameter(key, value)
end

def get_parameter(key)

def get_parameter(key)
  if key.is_a?(Numeric)
    @backend[key]
  else
    kwargs = @backend.last
    return nil unless kwargs.is_a?(Hash)
    kwargs[key]
  end
end

def initialize(backend)

def initialize(backend)
  @backend = backend
end

def set_parameter(key, value)

def set_parameter(key, value)
  if key.is_a?(Numeric)
    @backend[key] = value
  else
    kwargs = @backend.last
    unless kwargs.is_a?(Hash)
      kwargs = {}
      @backend.push(kwargs)
    end
    kwargs[key] = value
  end
end

def to_a

def to_a
  @backend
end