class Representable::Pipeline::Function::Insert
Public Instance Methods
Source
# File lib/representable/insert.rb, line 5 def call(arr, func, options) arr = arr.dup delete!(arr, func) if options[:delete] replace!(arr, options[:replace], func) if options[:replace] arr end
Private Instance Methods
Source
# File lib/representable/insert.rb, line 23 def delete!(arr, removed_func) arr.delete(removed_func) # TODO: make nice. arr.each_with_index { |func, index| if func.is_a?(Collect) arr[index] = Collect[*Pipeline::Insert.(func, removed_func, delete: true)] end } end
Source
# File lib/representable/insert.rb, line 13 def replace!(arr, old_func, new_func) arr.each_with_index { |func, index| if func.is_a?(Collect) arr[index] = Collect[*Pipeline::Insert.(func, new_func, replace: old_func)] end arr[index] = new_func if func==old_func } end