class VanishingVision::Core

Public Class Methods

new(source) click to toggle source
# File lib/vanishing_vision/core.rb, line 3
def initialize(source)
  @source = source
end

Public Instance Methods

vanish() click to toggle source
# File lib/vanishing_vision/core.rb, line 7
def vanish
  begin
    lines = @source.dup.split("\n")
  rescue
    return # For example, it occurs in UTF-32[BUG]
  end

  lines.map!(&:rstrip)

  lines = remove_leading_blank_lines(lines)
  lines = remove_leading_blank_lines(lines.reverse).reverse

  lines.join("\n") << "\n"
end

Private Instance Methods

remove_leading_blank_lines(lines) click to toggle source
# File lib/vanishing_vision/core.rb, line 24
def remove_leading_blank_lines(lines)
  delete_line_count = 0

  lines.each do |line|
    if line == ''
      delete_line_count += 1
    else
      break
    end
  end

  delete_line_count.times { lines.delete_at(0) }

  lines
end