class PoParser::Message

Attributes

type[RW]
value[RW]

Public Class Methods

new(type, value) click to toggle source
# File lib/poparser/message.rb, line 7
def initialize(type, value)
  @type = type
  @value = value

  remove_empty_line
end

Public Instance Methods

inspect() click to toggle source
# File lib/poparser/message.rb, line 38
def inspect
  @value
end
str() click to toggle source
# File lib/poparser/message.rb, line 14
def str
  @value.is_a?(Array) ? @value.join : @value
end
to_s(with_label = false) click to toggle source
# File lib/poparser/message.rb, line 18
def to_s(with_label = false)
  return to_str unless with_label

  if @value.is_a? Array
    remove_empty_line
    # multiline messages should be started with an empty line
    lines = ["#{label} \"\"\n"]
    @value.each do |str|
      lines << "\"#{str}\"\n"
    end
    return lines.join
  else
    "#{label} \"#{@value}\"\n"
  end
end
to_str() click to toggle source
# File lib/poparser/message.rb, line 34
def to_str
  @value.is_a?(Array) ? @value.join : @value
end

Private Instance Methods

label() click to toggle source
# File lib/poparser/message.rb, line 50
def label
  if /msgstr\[[0-9]\]/.match?(@type.to_s)
    @type
  else
    ENTRIES_LABELS[@type]
  end
end
remove_empty_line() click to toggle source
# File lib/poparser/message.rb, line 44
def remove_empty_line
  if @value.is_a? Array
    @value.shift if @value.first == ''
  end
end