Source

socionic / lib / socionic / relation.rb

Full commit
require 'socionic_mixin'
module Socionic
    class Relation
        include SocionicMixin
        attr_reader :value, :alias
        ALIASES = {
            0b0001 => 'Дуальность',
            0b1111 => 'Тождество',
            0b1000 => 'Активация',
            0b0110 => 'Зеркальность',
            0b1011 => 'Деловые отношения',
            0b0101 => 'Мираж',
            0b1100 => 'Заказ',
            0b0010 => 'Ревизия',
            0b1001 => 'Суперэго',
            0b0111 => 'Погашения',
            0b1110 => 'Квазитождество',
            0b0000 => 'Конфликт',
            0b1101 => 'Родство',
            0b0011 => 'Полудуальность',
            0b1010 => 'Заказ (подзаказный)',
            0b0100 => 'Ревизия (подревизный)',
        }
        def initialize(value)
            ALIASES.default = ''
            self.value = value
        end
        def initialize(a, b)
            self.value = value
        end
        def value=(value)
            @value = value
            @alias = ALIASES[@value]
        end
        def to_s
            return "#{@value.to_s 2}: #{@alias}"
        end
    end
end