If you have an actual array in which your data is stored, you might want to
require "forwardable"
class CustomArray
extend Forwardable
include Enumerable
def_delegators :@actual_array, :[], :[]=, :each
def initialize(actual_array)
@actual_array = actual_array
end
end
Using delegation, you provide only those methods that you know you want, and do not provide all methods by default.
source
share