class FilterRename::FilterNumber

Public Instance Methods

filter(params) click to toggle source
Calls superclass method FilterRename::FilterBase#filter
# File lib/filter_rename/filter_base.rb, line 160
def filter(params)
  super loop_numbers(get_string, get_indexes(params, :num_idx), params)
end

Private Instance Methods

loop_numbers(str, arr_index, params) click to toggle source
# File lib/filter_rename/filter_base.rb, line 176
def loop_numbers(str, arr_index, params)
  arr_index.each_with_index do |idx, param_idx|
    str = str.map_number_with_index do |num, i|
      if idx == i
        num = self.send :filtered_number, num, params, param_idx.next
      end

      num
    end
  end

  str
end
num_idx(idx, str) click to toggle source
# File lib/filter_rename/filter_base.rb, line 167
def num_idx(idx, str)
  if idx.to_i < 0
    idx = str.scan(/\d+/).length + idx.to_i
  elsif idx.to_i > 0
    idx = idx.to_i.pred
  end
  idx.to_i
end