lib/caricature/descriptor.rb in caricature-0.7.6 vs lib/caricature/descriptor.rb in caricature-0.7.7
- old
+ new
@@ -1,74 +1,74 @@
-module Caricature
-
- # Describes a class/type so it can be proxied more easily
- # This is the base class from which other more specialised descriptors can be
- # used to provide the metadata need to generate the proxy classes
- class TypeDescriptor
-
- # Gets the instance members of the described type/class
- attr_reader :instance_members
-
- # Gets the class members for the described type/class
- attr_reader :class_members
-
- # initializes a new instance of a type descriptor
- def initialize(klass)
- @instance_members = []
- @class_members = []
-
- unless klass == :in_unit_test_for_class
- initialize_instance_members_for klass
- initialize_class_members_for klass
- end
- end
-
- # collects the instance members of the provided type
- def initialize_instance_members_for(klass)
- raise NotImplementedError.new("Override in implementing class")
- end
-
- # collects the class members of the provided type
- def initialize_class_members_for(klass)
- raise NotImplementedError.new("Override in implementing class")
- end
- end
-
- # Describes a member of a class
- # this contains the metadata needed to generate the member
- # and perhaps a default value for the property type if necessary
- class MemberDescriptor
-
- # the return type of this member
- attr_reader :return_type
-
- # the name of this member
- attr_reader :name
-
- # initializes a nem instance of member descriptor
- def initialize(name, return_type=nil, is_instance_member=true)
- @name, @return_type, @instance_member = name, return_type, is_instance_member
- end
-
- # indicates whether this member is a class member or an instance member
- def instance_member?
- @instance_member
- end
-
- end
-
- # Describes a ruby object.
- class RubyObjectDescriptor < TypeDescriptor
-
- # collects all the members that are defined by this class
- def initialize_instance_members_for(klass)
- @instance_members += (klass.instance_methods - Object.instance_methods).collect { |mn| MemberDescriptor.new(mn) }
- end
-
- # collects all the members that aren't a member of Object.singleton_methods
- def initialize_class_members_for(klass)
- @class_members += klass.methods(false).collect { |mn| MemberDescriptor.new(mn) }
- end
-
- end
-
+module Caricature
+
+ # Describes a class/type so it can be proxied more easily
+ # This is the base class from which other more specialised descriptors can be
+ # used to provide the metadata need to generate the proxy classes
+ class TypeDescriptor
+
+ # Gets the instance members of the described type/class
+ attr_reader :instance_members
+
+ # Gets the class members for the described type/class
+ attr_reader :class_members
+
+ # initializes a new instance of a type descriptor
+ def initialize(klass)
+ @instance_members = []
+ @class_members = []
+
+ unless klass == :in_unit_test_for_class
+ initialize_instance_members_for klass
+ initialize_class_members_for klass
+ end
+ end
+
+ # collects the instance members of the provided type
+ def initialize_instance_members_for(klass)
+ raise NotImplementedError.new("Override in implementing class")
+ end
+
+ # collects the class members of the provided type
+ def initialize_class_members_for(klass)
+ raise NotImplementedError.new("Override in implementing class")
+ end
+ end
+
+ # Describes a member of a class
+ # this contains the metadata needed to generate the member
+ # and perhaps a default value for the property type if necessary
+ class MemberDescriptor
+
+ # the return type of this member
+ attr_reader :return_type
+
+ # the name of this member
+ attr_reader :name
+
+ # initializes a nem instance of member descriptor
+ def initialize(name, return_type=nil, is_instance_member=true)
+ @name, @return_type, @instance_member = name, return_type, is_instance_member
+ end
+
+ # indicates whether this member is a class member or an instance member
+ def instance_member?
+ @instance_member
+ end
+
+ end
+
+ # Describes a ruby object.
+ class RubyObjectDescriptor < TypeDescriptor
+
+ # collects all the members that are defined by this class
+ def initialize_instance_members_for(klass)
+ @instance_members += (klass.instance_methods - Object.instance_methods).collect { |mn| MemberDescriptor.new(mn) }
+ end
+
+ # collects all the members that aren't a member of Object.singleton_methods
+ def initialize_class_members_for(klass)
+ @class_members += klass.methods(false).collect { |mn| MemberDescriptor.new(mn) }
+ end
+
+ end
+
end
\ No newline at end of file