module Domgen
  module Iris
    class IrisElement < BaseConfigElement
      attr_reader :parent

      def initialize(parent, options = {}, &block)
        @parent = parent
        super(options, &block)
      end
    end

    class IrisAttribute < IrisElement
      attr_accessor :inverse_sorter

      attr_writer :traversable

      def traversable?
        @traversable = false if @traversable.nil?
        @traversable
      end
    end

    class IrisClass < IrisElement
      attr_accessor :metadata_that_can_change
      attr_accessor :display_name
    end
  end

  class Attribute
    def iris
      @iris = Domgen::Iris::IrisAttribute.new(self) unless @iris
      @iris
    end
  end

  class ObjectType
    def iris
      @iris = Domgen::Iris::IrisClass.new(self) unless @iris
      @iris
    end
  end
end

module Domgen
  module Iris
    class IrisElement < BaseConfigElement
      attr_reader :parent

      def initialize(parent, options = {}, &block)
        @parent = parent
        super(options, &block)
      end
    end

    class IrisAttribute < IrisElement
      attr_accessor :inverse_sorter

      attr_writer :traversable

      def traversable?
        @traversable = false if @traversable.nil?
        @traversable
      end
    end

    class IrisClass < IrisElement
      attr_accessor :display_name
      
      attr_writer :metadata_that_can_change

      def metadata_that_can_change?
        @metadata_that_can_change = false if @metadata_that_can_change.nil?
        @metadata_that_can_change
      end

      attr_writer :synchronized

      def synchronized?
        @synchronized = true if @synchronized.nil?
        @synchronized
      end

      attr_writer :client_side

      def client_side?
        @client_side = true if @client_side.nil?
        @client_side
      end

    end
  end

  class Attribute
    def iris
      @iris = Domgen::Iris::IrisAttribute.new(self) unless @iris
      @iris
    end
  end

  class ObjectType
    def iris
      @iris = Domgen::Iris::IrisClass.new(self) unless @iris
      @iris
    end
  end
end

Add some more iris sepcific config parameters
Add some more iris sepcific config parameters
