~ubuntu-branches/ubuntu/jaunty/libclass-meta-perl/jaunty

« back to all changes in this revision

Viewing changes to Changes

  • Committer: Bazaar Package Importer
  • Author(s): Krzysztof Krzyzaniak (eloy)
  • Date: 2006-01-03 17:29:20 UTC
  • Revision ID: james.westby@ubuntu.com-20060103172920-h94p8qrrav90bzq0
Tags: upstream-0.52
ImportĀ upstreamĀ versionĀ 0.52

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Revision history for Perl extension Class::Meta.
 
2
 
 
3
0.52  2005-12-30T00:08:36
 
4
      - The constructor method created by Class::Meta::Constructor no longer
 
5
        assigns the default value to an attribute if that attribute has
 
6
        already been set by another attribute accessor. This is useful, for
 
7
        example, when the setting of one attribute triggers the setting of
 
8
        another attribute, as when a public attribute implicitly sets a
 
9
        private attribute.
 
10
 
 
11
0.51  2005-12-17T03:40:26
 
12
      - Added "code" parameter to add_method(), so that a new method can be
 
13
        defined right in the call to add_method(), and Class::Meta::Method
 
14
        will install it. Inspired by Ovid's Class::Meta::Declare.
 
15
 
 
16
0.50  2005-12-14T04:33:46
 
17
      - Constructors created by Class::Meta now iterate over the attributes
 
18
        when assigning arguments or defaults in the order in which the
 
19
        were defined, rather than randomly.
 
20
      - The "attributes()", "constructors()", and "methods()" methods of
 
21
        Class::Meta::Class now return *all* objects, including private and
 
22
        trusted objects, when called from the class that defined those
 
23
        objects.
 
24
      - Minor optimizations to the constructor created by Class::Meta.
 
25
 
 
26
0.49  2005-11-02T03:27:10
 
27
      - Added "keys" method to allow all Class Object keys to be fetched.
 
28
      - Added "args" and "returns" parameters to "add_method()" to allow
 
29
        methods to be better described.
 
30
      - Added "clear" method to delete Class Object keys.
 
31
 
 
32
0.48  2005-04-13T21:32:39
 
33
      - Fixed accessor generation for "once" attributes with a default so that
 
34
        a value can be passed to a constructor and properly assigned to the
 
35
        "once" attribute instead of its default, rather than throwing a
 
36
        read-only exception.
 
37
      - Added "default_builder()" class method to Class::Meta::Type. This
 
38
        allows a default builder other than "default" to be specified when
 
39
        none is explicitly passed to Class::Meta::Type->add(), such as when
 
40
        data types are implicitly created for attributes that reference
 
41
        objects of Class::Meta classes.
 
42
 
 
43
0.47  2005-04-05T16:25:28
 
44
      - Changed the "constructors()", "attributes()", and "methods()" methods
 
45
        in Class::Meta::Class so that any classes thta inherit from
 
46
        Class::Meta::Class are never considered to be the caller.
 
47
      - Added the "trusted" parameter to "new()" to identify trusted packages.
 
48
        Added a new constant, TRUSTED, for the "view" parameter to identfy
 
49
        constructors, attributes, and methods that can be used by trusted
 
50
        packages.
 
51
 
 
52
0.46  2005-03-09T18:24:59
 
53
      - Fixed documentation to reflect that the "class()" method in the
 
54
        Constructor class requires the package name as its first argument.
 
55
      - Modified "add_method()" so that methods can optionally be
 
56
        automatically created by "build()". Patch from Tim Canfield.
 
57
      - A call to "build()" now deletes unneeded references to objects,
 
58
        freeing up a bit of memory.
 
59
      - Changed minimum required Perl version to 5.6.1. Certain tests are
 
60
        disabled in this version, since the version of Carp included in
 
61
        Perl 5.6 lacks the @CARP_NOT feature. Everything should work fine,
 
62
        however. Suggested by Tim Canfield.
 
63
 
 
64
0.45  2005-01-07T19:41:41
 
65
      - Added "parents()" method to Class::Meta::Class to return the class
 
66
        objects for any classes that the class inherits from.
 
67
      - Attributes that use an alias to set their types will now have the
 
68
        alias converted to the canonical type key.
 
69
      - Fixed typo in Class::Meta that named the generated method "class()"
 
70
        instead of "my_class()". Reported by Curtis Poe.
 
71
      - Documented "bool" synonym for the "boolean" data type in the
 
72
        Class::Meta library documentation (it was already documented in
 
73
        Class::Meta::Types::Boolean, of course).
 
74
      - Fixed broken links to Class::Meta::Types classes in Class::Meta
 
75
        library documentation. Reported by Curtis Poe.
 
76
 
 
77
0.44  2004-10-28T01:25:12
 
78
      - Classes created by Class::Meta will now be used as data types. This
 
79
        saves the developer having to generate classes *and* add the new
 
80
        classes as data types when objects of a class will be attributes of
 
81
        another class.
 
82
      - Added "class_validation_generator()" class method to Class::Meta::Type
 
83
        so that a custom object validation generator can be specified instead
 
84
        of the default. This simplifies specifying objects as data types
 
85
        without custom creating validation checks for every one, and is
 
86
        especially useful with the new implicit Class::Meta class data types,
 
87
        as it will be used to generate the validation checks.
 
88
 
 
89
0.43  2004-09-20T06:19:27
 
90
      - Accessor builder classes that don't properly load will now correctly
 
91
        cause Class::Meta to die.
 
92
      - Class::Meta::Class->handle_error() now joins multiple arguments it
 
93
        receives into a single string to be passed to the error handler
 
94
        code reference.
 
95
      - Class::Meta::Attribute now correctly finds attribute accessors that
 
96
        were not created by Class::Meta (that is, when the "create" parameter
 
97
        is set to NONE), provided that the build_attr_set() and
 
98
        build_attr_get() functions of the accessor builder package can
 
99
        find them (as the accessor builders include with Class::Meta can).
 
100
 
 
101
0.42  2004-09-19T23:57:53
 
102
      - Fixed test failures on Windows in "t/errors.t".
 
103
      - Added "abstract" attribute to class objects to identify abstract
 
104
        (a.k.a. "virtual") classes. Constructors generated by Class::Meta
 
105
        will throw an exception if they are used to try to construct an
 
106
        object in an abstract class.
 
107
 
 
108
0.41  2004-08-27T02:32:17
 
109
      - Added "for_key()" class method to Class::Meta to return a
 
110
        Class::Meta::Class class for a class key.
 
111
      - Eliminated '"my" variable $objs masks earlier declaration in same
 
112
        scope' warning.
 
113
 
 
114
0.40  2004-08-27T01:51:12
 
115
      - Remembered to actually apply the patch taht fixes the tests under
 
116
        Windows. Sheesh!
 
117
      - Subclasses of Class, Constructor, Attribute, and Method can now call
 
118
        "SUPER::new()" and "SUPER::build()" without getting errors.
 
119
      - Changed implementation of Class::Meta::Class so that its attributes
 
120
        are stored in the object hash itself. This brings it in line with
 
121
        the implementation of Constructor, Attribute, and Method, thus
 
122
        making subclassing consistent with those classes. However it also
 
123
        required that references to its contents be changed in all the other
 
124
        classes, as well. Hence the bump to 0.40.
 
125
 
 
126
0.36  2004-07-30T00:59:31
 
127
      - Finally, truly got the tests fixed for Windows. Without question.
 
128
        The fix was even tested, first! Thanks to Robert Rothenberg for
 
129
        his persistence.
 
130
      - Minor doc fixes, repoted by Jesse Vincent.
 
131
      - Added simple example for a default value code reference. Suggested
 
132
        by Jesse Vincent.
 
133
 
 
134
0.35  2004-06-28T23:16:16
 
135
      - Fixed the names of the included types classes in the documentation
 
136
        of Class::Meta::Type. Spotted by Dan Kubb.
 
137
      - Fixed a few documentation references to a "class()" method to
 
138
        reference the correctly named "my_class()" method.
 
139
      - Fixed failing tests on Win32. For real this time, I hope! Reported
 
140
        by Robert Rothenberg's CPAN testing.
 
141
      - Added build() method to Class::Meta::Method to parallel the same
 
142
        method in Class::Meta::Attribute and Class::Meta::Constructor.
 
143
        It's a no-op, but will be called when Class::Meta::build() is
 
144
        called, so it could be useful for subclasses. Inspired by a
 
145
        suggestion by Mark Jaroski.
 
146
      - Added POD coverage test.
 
147
      - Documented undocumented methods and functions. Most of these are
 
148
        actually protected methods, but they will be of interest to those
 
149
        creating their own subclasses or accessor generators Class::Meta.
 
150
 
 
151
0.34  2004-06-17T17:52:30
 
152
      - Fixed failing tests on Win32. Reported by Robert Rothenberg's CPAN
 
153
        testing.
 
154
 
 
155
0.33  2004-06-17T00:05:47
 
156
      - Added "override" parameter to "add_attribute()" so that subclasses
 
157
        can override attributes in their parent classes.
 
158
 
 
159
0.32  2004-05-25T17:09:39
 
160
      - Fixed the MANIFEST so that the new semi-affordance accessor generation
 
161
        actually works. Reported by Mark Jaroski.
 
162
 
 
163
0.31  2004-04-20T18:25:25
 
164
      - Moved extra code to prevent AccessorBuilder from pointing to
 
165
        Constructor in the default (croak) error handler from AccessorBuilder
 
166
        to the default error handler. Carp is a PITA.
 
167
      - Added "handle_error()" class method to Class::Meta. This method is
 
168
        used by Class::Meta classes when no Class::Meta::Class object is
 
169
        available
 
170
 
 
171
0.30  2004-04-19T23:44:26
 
172
      - Added semi-affordance accessor generation.
 
173
      - Modified arguments passed to check code references. Now, in addition
 
174
        to the new value to be assiged to the attribute, the object being
 
175
        assigned to and the Class::Meta::Attribute object that describes the
 
176
        attribute are passed. If the attribute is a class attribute, then the
 
177
        second argument is a hash reference containing the existing value and
 
178
        the name of the package.
 
179
      - Thanks the the presence of the attribute object as an argument to
 
180
        check code references, the name of the attribute is now included in
 
181
        exceptions thrown for "once" and "required" attributes.
 
182
      - Added "class" accessors to Constructor, Attribute, and Method, to
 
183
        return the Class object for the class in which the constructor,
 
184
        attribute, or method was defined.
 
185
      - Added "error_handler" parameter to Class::Meta->new to be called for
 
186
        fatal errors.
 
187
      - Added default_error_handler() class method to Class::Meta to act
 
188
        as the default error handler when no "error_handler" parameter is
 
189
        passed to Class::Meta->new.
 
190
 
 
191
0.20  2004-01-28T22:03:09
 
192
      - Added more documentation to the Class::Meta synopsis that highlights
 
193
        the generated constructor and attribute accessors, as well as the
 
194
        introspection API.
 
195
      - Fixed documentation to reflect that the introspection class method
 
196
        installed in a generated class is called my_class(), not class().
 
197
        Thanks to Marcus Ramberg for the spot!
 
198
      - Documented the "required" attribute of Class::Meta::Attribute.
 
199
      - Added "once" attribute to Class::Meta::Attribute. This attribute
 
200
        indicates whether an attribute value can be set to a defined value
 
201
        only once.
 
202
      - Renamed the call_get() and call_set() methods of
 
203
        Class::Meta::Attribute to simply get() and set().
 
204
 
 
205
0.14  2004-01-21T01:00:18
 
206
      - Private and protected constructors generated by Class::Meta are now
 
207
        truly private and protected.
 
208
      - Class::Meta no longer generates constructors when they're added with
 
209
        create => 0.
 
210
 
 
211
0.13  2004-01-20T21:36:30
 
212
      - For default accessors, object and class attribute accessors were
 
213
        reversed.
 
214
      - Private and protected attributes now are truly private and protected
 
215
        if they're constructed by the accessor builder packages that come with
 
216
        Class::Meta.
 
217
      - The call_get() and call_set() methods of Class::Meta::Attribute and
 
218
        the call() methods of Class::Meta::Constructor and
 
219
        Class::Meta::::Method now use goto to execute the true methods. This
 
220
        removes the call to call_get() or call_set() or call() from the call
 
221
        stack trace, and makes it possible for the private and protected
 
222
        checks to always work properly.
 
223
 
 
224
0.12  2004-01-17T20:25:58
 
225
      - The class "name" attribute now defaults to be the same as the key
 
226
        if it is not explicitly set.
 
227
      - The constructor generated by Class::Meta no longer attempts to set
 
228
        class attributes.
 
229
      - A package name now must be passed to the Class::Meta::Constructor's
 
230
        call() method as the first argument. This is allow for proper support
 
231
        for inheritance.
 
232
      - Accessor generators now create accessors for class attributes as
 
233
        class attributes, instead of as object attributes.
 
234
 
 
235
0.11  2004-01-15T03:47:33
 
236
      - Added link to rt.cpan.org for reporting bugs.
 
237
      - Added distribution information to all modules.
 
238
      - The package attribute now properly defaults to the package
 
239
        calling Class::Meta->new.
 
240
      - Class::Meta::Class->construtors now works.
 
241
 
 
242
0.10  2004-01-09T03:56:11
 
243
      - Initial public release.
 
244