classx

Meta Framework extending and flexible attribute like Moose ( perl )

Synopsis

require 'classx'
class Point
  include ClassX

  has :x, :kind_of => Fixnum
  has :y, :kind_of => Fixnum
end

class Point3D < Point
  has :z, :kind_of => Fixnum, :optional => true
end

Point.new(:x => 30, :y => 40)  #=> <# Point @x=30, @y=40 >
point3d = Point3D.new(:x => 30, :y => 40, :z => 50)  #=> <# Point3D @x=30, @y=40, @z=50 >
point3d.z = 60.0 # raise ClassX::InvalidAttrArgument

Description

perl’s Moose like Class interface.

Installation

Archive Installation

rake install

Gem Installation

gem install classx

Features/Problems

SEE ALSO

Moose: search.cpan.org/~drolsky/Moose-0.57/lib/Moose.pm

Author

Keiji, Yoshimi <walf443 at gmail.com>

Copyright

Copyright © 2008 Keiji, Yoshimi

License

you can redistribute it and/or modify it under the same terms as Ruby itself.