class RBeautify::Line

Attributes

block[R]
content[R]
indent_character[R]
language[R]
line_number[R]
original_block[R]

Public Class Methods

new(language, content, line_number, original_block = nil, use_tabs = false) click to toggle source
# File lib/ruby-beautify/lib/ruby-beautify/line.rb, line 6
def initialize(language, content, line_number, original_block = nil, use_tabs = false)
  @language = language
  @content = content
  @original_block = original_block
  @indent_character = use_tabs ? "\t" : "  "
  @block = BlockMatcher.parse(language, original_block, line_number, stripped, 0)
end

Public Instance Methods

format() click to toggle source
# File lib/ruby-beautify/lib/ruby-beautify/line.rb, line 14
def format
  if @formatted.nil?
    if format?
      if stripped.length == 0
        @formatted = ""
      else
        @formatted = tab_string + stripped
      end
    else
      @formatted = content
    end
  end

  @formatted
end

Private Instance Methods

format?() click to toggle source
# File lib/ruby-beautify/lib/ruby-beautify/line.rb, line 31
def format?
  original_block.nil? || original_block.format_content?
end
indent_size() click to toggle source
# File lib/ruby-beautify/lib/ruby-beautify/line.rb, line 35
def indent_size
  if (block.nil? || block.strict_ancestor_of?(original_block)) && (original_block && original_block.indent_end_line?)
    original_block.total_indent_size
  else
    common_ancestor = BlockStart.first_common_ancestor(original_block, block)
    common_ancestor.nil? ? 0 : common_ancestor.total_indent_size
  end
end
stripped() click to toggle source
# File lib/ruby-beautify/lib/ruby-beautify/line.rb, line 48
def stripped
  @stripped = content.strip
end
tab_string() click to toggle source
# File lib/ruby-beautify/lib/ruby-beautify/line.rb, line 44
def tab_string
  indent_character * (indent_size / 2 ) + (indent_size.odd? ? ' ' : '')
end