Sha256: 27885e7d4d63f716d4759db9e316c3507158187ffbe8f217fd62dd85aa338786

Contents?: true

Size: 665 Bytes

Versions: 1

Compression:

Stored size: 665 Bytes

Contents

module Traits
  class Association
    module Members
      def from
        @from_class.traits
      end

      # Returns the actual association establisher class
      def from_class
        @from_class
      end

      # Returns the actual associated class
      def to
        reflection.klass.traits unless polymorphic?
      end

      def to_class
        reflection.klass unless polymorphic?
      end

      def self_to_self?
        from_class == to_class
      end

      def to_hash
        super.merge!(
          from:         from.name,
          to:           to.try(:name),
          self_to_self: self_to_self?
        )
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activerecord-traits-1.0.0 lib/traits/concerns/association/members.rb