class Array

Public Instance Methods

append_separator(*separators) click to toggle source

Appends a given separator(s) to all but the last element in an array of Strings or if performed on an array of arrays, appends the separator element to the end of each array except the last

# File lib/indentation/array_mod.rb, line 4
def append_separator(*separators)
  len = self.length
  ret_array = Array.new
  self.each_with_index do |element, i|
    new_element = element.dup
    unless i == len - 1
      separators.each do |separator|
        new_element << separator 
      end
    end
    ret_array << new_element
  end
  ret_array
end
append_separator!(*separators) click to toggle source

Append the given separator(s) to the current array

# File lib/indentation/array_mod.rb, line 20
def append_separator!(*separators)
  len = self.length
  self.each_with_index do |element, i|
    unless i == len - 1
      separators.each do |separator|
        element << separator 
      end
    end
  end
end
find_least_indentation(options = {:ignore_blank_lines => true, :ignore_empty_lines => true}) click to toggle source

Get the least indentation of all elements

# File lib/indentation/array_mod.rb, line 58
def find_least_indentation(options = {:ignore_blank_lines => true, :ignore_empty_lines => true})
  self.collect{|array_element| array_element.find_least_indentation }.min
end
indent(num = nil, i_char = ' ') click to toggle source

Return an indented array of strings (or an array of other arrays containing strings) Arguments:

  • num - How many of the specified indentation to use.

    Default for spaces is 2. Default for other is 1.
    If set to a negative value, removes that many of the specified indentation character,
    tabs, or spaces from the beginning of the string
  • i_char - Character (or string) to use for indentation

# File lib/indentation/array_mod.rb, line 38
def indent(num = nil, i_char = ' ')
  self.collect do |array_element|
    array_element.indent(num, i_char)
  end
end
indent!(num = nil, i_char = ' ') click to toggle source

Apply indentation to this array Arguments:

  • num - How many of the specified indentation to use.

    Default for spaces is 2. Default for other is 1.
    If set to a negative value, removes that many of the specified indentation character,
    tabs, or spaces from the beginning of the string
  • i_char - Character (or string) to use for indentation

# File lib/indentation/array_mod.rb, line 51
def indent!(num = nil, i_char = ' ')
  self.collect! do |array_element|
    array_element.indent!(num, i_char)
  end
end
reset_indentation(modifier = 0) click to toggle source

Find the least indentation of all elements and remove that amount (if any) Can pass an optional modifier that changes the indentation amount removed

# File lib/indentation/array_mod.rb, line 64
def reset_indentation(modifier = 0)
  indent(-find_least_indentation + modifier)
end
reset_indentation!(modifier = 0) click to toggle source

Replaces the current array with one that has its indentation reset Can pass an optional modifier that changes the indentation amount removed

# File lib/indentation/array_mod.rb, line 70
def reset_indentation!(modifier = 0)
  indent!(-find_least_indentation + modifier)
end