Sha256: 160ae38889167e66c193cb7268d8403bf980615ea38a7d42d8ad3f178dff7911

Contents?: true

Size: 806 Bytes

Versions: 1

Compression:

Stored size: 806 Bytes

Contents

module Ircp
  class Prefix
    attr_accessor :raw, :servername, :nick, :user, :host

    def initialize(options = {})
      @raw = options[:raw]
      @servername = options[:servername]
      @nick = options[:nick]
      @user = options[:user]
      @host = options[:host]
    end

    def empty?
      to_s.empty?
    end

    def inspect
      variables = instance_variables.map { |name| "#{name}=#{instance_variable_get(name).inspect}" }
      variables.unshift "#{self.class}"
      "<#{variables.join ' '}>"
    end

    def to_irc
      if @servername
        "#{servername}"
      else
        [['', @nick], ['!', @user], ['@', @host]].map do |mark, value|
          "#{mark}#{value}" unless value.to_s.empty?
        end.compact.join('')
      end
    end
    alias_method :to_s, :to_irc
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ircp-1.1.3 lib/ircp/prefix.rb