Method: PlainText::Util.positive_array_index
- Defined in:
- lib/plain_text/util.rb
.positive_array_index(i, ary) ⇒ Integer, NilClass
Returns a non-negative Array index for self
If positive or zero, it returns i. If the negative index is out of range, it returns nil.
43 44 45 46 47 48 |
# File 'lib/plain_text/util.rb', line 43 def positive_array_index(i, ary) i2 = i.to_int rescue (raise TypeError, sprintf("no implicit conversion of #{i.class} into Integer")) return i2 if i2 >= 0 ret = ary.size + i2 rescue (raise ArgumentError, "argument is not an array.") (ret < 0) ? nil : ret end |