Sha256: 2b0517bb517af1e6316bb4b7a970b595b28157aed51a01ab9f6f8115336eaff1
Contents?: true
Size: 732 Bytes
Versions: 2
Compression:
Stored size: 732 Bytes
Contents
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com # All files in this distribution are subject to the terms of the Ruby license. class Array def put_within(object, constrain) pre, post = constrain.values_at(:after, :before) unless rindex(post) - index(pre) == 1 raise ArgumentError, "Too many elements within constrain" end put_after(pre, object) end def put_after(element, object) raise ArgumentError, "The given element doesn't exist" unless include?(element) self[index(element) + 1, 0] = object end def put_before(element, object) raise ArgumentError, "The given element doesn't exist" unless include?(element) self[rindex(element), 0] = object end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ramaze-0.3.0 | lib/ramaze/snippets/array/put_within.rb |
ramaze-0.3.5 | lib/ramaze/snippets/array/put_within.rb |