module IniParse::Lines::Line

A base class from which other line types should inherit.

Public Class Methods

new(opts = {}) click to toggle source

Parameters

opts<Hash>

Extra options for the line.

# File lib/iniparse/lines.rb, line 8
def initialize(opts = {})
  @comment        = opts.fetch(:comment, nil)
  @comment_sep    = opts.fetch(:comment_sep, ';')
  @comment_prefix = opts.fetch(:comment_prefix, ' ')
  @comment_offset = opts.fetch(:comment_offset, 0)
  @indent         = opts.fetch(:indent, '')
end

Public Instance Methods

blank?() click to toggle source

Returns whether this is a line which has no data.

# File lib/iniparse/lines.rb, line 48
def blank?
  false
end
comment() click to toggle source

Returns the inline comment for this line. Includes the comment separator at the beginning of the string.

# File lib/iniparse/lines.rb, line 43
def comment
  "#{ @comment_sep }#{ @comment_prefix }#{ @comment }"
end
has_comment?() click to toggle source

Returns if this line has an inline comment.

# File lib/iniparse/lines.rb, line 17
def has_comment?
  not @comment.nil?
end
line_contents() click to toggle source

Returns the contents for this line.

# File lib/iniparse/lines.rb, line 37
def line_contents
  ''
end
to_ini() click to toggle source

Returns this line as a string as it would be represented in an INI document.

# File lib/iniparse/lines.rb, line 23
def to_ini
  ini = line_contents
  ini = @indent + ini if @indent

  if has_comment?
    ini += ' ' if ini =~ /\S/ # not blank
    ini  = ini.ljust(@comment_offset)
    ini += comment
  end

  ini
end