Sha256: 94e2a9b094c9fbea9cc0421bc0003c48449298b328c282a5292766b21474e093

Contents?: true

Size: 529 Bytes

Versions: 3

Compression:

Stored size: 529 Bytes

Contents

class Module

  #
  def attr_class_accessor(name)
    attr_class_reader(name)
    attr_class_writer(name)
  end

  #
  def attr_class_reader(name)
    module_eval(<<-EOS, __FILE__, __LINE__)
      def self.#{name}
        @#{name}
      end
      def #{name}
        self.class.#{name}
      end
    EOS
  end

  #
  def attr_class_writer(name)
    module_eval(<<-EOS, __FILE__, __LINE__)
      def self.#{name}=(x)
        @#{name} = x
      end
      def #{name}=(x)
        self.class.#{name} = x
      end
    EOS
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
facets-2.9.0 lib/tour/facets/module/attr_class_accessor.rb
facets-2.9.0.pre.2 lib/tour/facets/module/attr_class_accessor.rb
facets-2.9.0.pre.1 lib/tour/facets/module/attr_class_accessor.rb