Sha256: 695cc95a06c7d75f7a879730bcbfb1b6c5f09b52c48555dc8299863182f12941

Contents?: true

Size: 916 Bytes

Versions: 2

Compression:

Stored size: 916 Bytes

Contents

module CanTango
  class Config
    class User
      include Singleton

      include ClassExt

      def clear!
        @clazz = nil
        @unique_key_field = nil
        @relations = nil
      end

      def base_class
        @clazz ||= (::User if defined? ::User)
      end

      def base_class= clazz
        raise ArgumentError, "Must be a class, was: #{clazz}" unless is_class? clazz
        @clazz = clazz
      end

      def unique_key_field
        @unique_key_field || :email
      end

      def unique_key_field= key
        raise ArgumentError, "Not a valid key" unless key.kind_of_label?
        @unique_key_field = key.to_sym
      end

      def relations= *relations
        @relations = relations.select_labels
      end

      def relations
        @relations ||= default_relations
      end

      def default_relations
        [:owner, :author, :writer, :user]
      end
    end
  end
end


Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cantango-config-0.2.1 lib/cantango/config/user.rb
cantango-config-0.2.0 lib/cantango/config/user.rb