Sha256: c545b114d9b352ff8d2d7fb15e7a6ce1ecaf8ac0b9b5bea199e1d7c1e7e00402

Contents?: true

Size: 1.67 KB

Versions: 18

Compression:

Stored size: 1.67 KB

Contents

# frozen_string_literal: true
require "set"

module YARD
  module I18n
    # +Message+ is a translation target message. It has message ID as
    # {#id} and some properties {#locations} and {#comments}.
    #
    # @since 0.8.1
    class Message
      # @return [String] the message ID of the translation target message.
      attr_reader :id

      # @return [Set] the set of locations. Location is an array of
      # path and line number where the message is appeared.
      attr_reader :locations

      # @return [Set] the set of comments for the messages.
      attr_reader :comments

      # Creates a translate target message for message ID +id+.
      #
      # @param [String] id the message ID of the translate target message.
      def initialize(id)
        @id = id
        @locations = Set.new
        @comments = Set.new
      end

      # Adds location information for the message.
      #
      # @param [String] path the path where the message appears.
      # @param [Integer] line the line number where the message appears.
      # @return [void]
      def add_location(path, line)
        @locations << [path, line]
      end

      # Adds a comment for the message.
      #
      # @param [String] comment the comment for the message to be added.
      # @return [void]
      def add_comment(comment)
        @comments << comment unless comment.nil?
      end

      # @param [Message] other the +Message+ to be compared.
      # @return [Boolean] checks whether this message is equal to another.
      def ==(other)
        other.is_a?(self.class) &&
          @id == other.id &&
          @locations == other.locations &&
          @comments == other.comments
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 4 rubygems

Version Path
direct7-0.0.18 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/i18n/message.rb
direct7-0.0.17 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/i18n/message.rb
direct7-0.0.16 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/i18n/message.rb
yard-0.9.37 lib/yard/i18n/message.rb
kinetic_sdk-5.0.27 gems/yard-0.9.36/lib/yard/i18n/message.rb
kinetic_sdk-5.0.26 gems/yard-0.9.36/lib/yard/i18n/message.rb
direct7-0.0.13 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/i18n/message.rb
yard-0.9.36 lib/yard/i18n/message.rb
yard-0.9.35 lib/yard/i18n/message.rb
direct7-0.0.12 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/i18n/message.rb
getargv-0.3.3-universal-darwin vendor/bundle/ruby/3.3.0/gems/yard-0.9.34/lib/yard/i18n/message.rb
direct7-0.0.11 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/i18n/message.rb
yard-0.9.34 lib/yard/i18n/message.rb
yard-0.9.33 lib/yard/i18n/message.rb
yard-0.9.32 lib/yard/i18n/message.rb
yard-0.9.31 lib/yard/i18n/message.rb
yard-0.9.30 lib/yard/i18n/message.rb
yard-0.9.29 lib/yard/i18n/message.rb