Sha256: 4ee001a303af39de2b0594a29770f3d7da16bb0cc7153eab523affb608a6e506

Contents?: true

Size: 712 Bytes

Versions: 1

Compression:

Stored size: 712 Bytes

Contents

module T7s
  class Idol
    class Name
      attr_reader :aka, :family, :family_kana, :given, :given_kana, :shorten

      def initialize(name_object)
        name_object.each do |k, v|
          instance_variable_set("@#{k}", v)
        end
      end

      def to_s
        return @aka if @aka
        full
      end

      def full
        if @family && @given
          "#{@family}#{@given}"
        else
          @aka
        end
      end

      def full_kana
        if @family_kana && @given_kana
          "#{@family_kana}#{@given_kana}"
        else
          self.full
        end
      end

      def ==(other)
        super || [aka, given, full].compact.include?(other)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
t7s-0.1.0 lib/t7s/idol/name.rb