idelete(obj, index, &dontintercept)
click to toggle source
def idelete(obj, index, &dontintercept)
yield
end
iget(obj, index, &dontintercept)
click to toggle source
def iget(obj, index, &dontintercept)
if obj.respond_to?(:[])
obj.send(:[], index, &dontintercept)
else
yield
end
end
indices(obj)
click to toggle source
def indices(obj)
obj.respond_to?(:length) ? (0..obj.length).to_a : []
end
iquery(obj, index, attributes, &dontintercept)
click to toggle source
def iquery(obj, index, attributes, &dontintercept)
if obj.respond_to?(:[])
attributes.dont_delete
unless obj.respond_to?(:[]=)
attributes.read_only
end
else
yield
end
end
iset(obj, index, value, &dontintercept)
click to toggle source
def iset(obj, index, value, &dontintercept)
if obj.respond_to?(:[]=)
obj.send(:[]=, index, value, &dontintercept)
else
yield
end
end