glue 0.20.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/CHANGELOG +161 -110
  2. data/INSTALL +12 -12
  3. data/README +1 -1
  4. data/Rakefile +43 -45
  5. data/doc/AUTHORS +5 -5
  6. data/doc/LICENSE +3 -3
  7. data/doc/RELEASES +32 -24
  8. data/install.rb +7 -17
  9. data/lib/facet/object/alias_class.rb +12 -0
  10. data/lib/glue.rb +35 -35
  11. data/lib/glue/array.rb +46 -46
  12. data/lib/glue/aspects.rb +199 -209
  13. data/lib/glue/attribute.rb +15 -15
  14. data/lib/glue/autoreload.rb +1 -1
  15. data/lib/glue/builder.rb +48 -0
  16. data/lib/glue/builder/xml.rb +114 -0
  17. data/lib/glue/cache.rb +189 -0
  18. data/lib/glue/configuration.rb +108 -90
  19. data/lib/glue/flexob.rb +17 -17
  20. data/lib/glue/hash.rb +71 -71
  21. data/lib/glue/helper.rb +12 -12
  22. data/lib/glue/idgen.rb +9 -0
  23. data/lib/glue/idgen/md5.rb +24 -0
  24. data/lib/glue/idgen/sequential.rb +15 -0
  25. data/lib/glue/literal_method.rb +44 -0
  26. data/lib/glue/localization.rb +130 -0
  27. data/lib/glue/logger.rb +98 -98
  28. data/lib/glue/misc.rb +7 -7
  29. data/lib/glue/mixins.rb +19 -19
  30. data/lib/glue/number.rb +8 -8
  31. data/lib/glue/object.rb +2 -2
  32. data/lib/glue/pool.rb +43 -43
  33. data/lib/glue/property.rb +392 -392
  34. data/lib/glue/sanitize.rb +34 -34
  35. data/lib/glue/settings.rb +1 -1
  36. data/lib/glue/snapshot.rb +104 -0
  37. data/lib/glue/string.rb +129 -129
  38. data/lib/glue/time.rb +53 -53
  39. data/lib/glue/uri.rb +162 -162
  40. data/lib/glue/validation.rb +421 -421
  41. data/lib/vendor/blankslate.rb +53 -0
  42. data/test/glue/builder/tc_xml.rb +56 -0
  43. data/test/glue/tc_aspects.rb +90 -90
  44. data/test/glue/tc_attribute.rb +11 -11
  45. data/test/glue/tc_builder.rb +30 -0
  46. data/test/glue/tc_configuration.rb +97 -97
  47. data/test/glue/tc_flexob.rb +10 -10
  48. data/test/glue/tc_hash.rb +23 -23
  49. data/test/glue/tc_localization.rb +49 -0
  50. data/test/glue/tc_logger.rb +31 -31
  51. data/test/glue/tc_numbers.rb +9 -9
  52. data/test/glue/tc_property.rb +67 -67
  53. data/test/glue/tc_property_mixins.rb +17 -17
  54. data/test/glue/tc_property_type_checking.rb +13 -13
  55. data/test/glue/tc_strings.rb +94 -94
  56. data/test/glue/tc_uri.rb +65 -65
  57. data/test/glue/tc_validation.rb +196 -196
  58. metadata +26 -4
data/CHANGELOG CHANGED
@@ -1,235 +1,286 @@
1
+ 24-07-2005 George Moschovitis <gm@navel.gr>
2
+
3
+ * Rakefile: updated.
4
+
5
+ 22-07-2005 George Moschovitis <gm@navel.gr>
6
+
7
+ * test/glue/builder/tc_localization.rb: added.
8
+
9
+ * test/glue/builder/tc_xml.rb: added.
10
+
11
+ * converted all code to use spaces instead of tab.
12
+
13
+ 19-07-2005 George Moschovitis <gm@navel.gr>
14
+
15
+ * lib/glue/snapshot.rb: merged valueholder.rb
16
+
17
+ 19-07-2005 Michael Neumann <mneumann@ntecs.de>
18
+
19
+ * lib/glue/literal_method.rb: added.
20
+
21
+ * install.rb: fixes.
22
+
23
+ * lib/glue/cache.rb: added.
24
+
25
+ * lib/glue/snapshot.rb: added.
26
+
27
+ * lib/glue/idgen*: added.
28
+
29
+ 18-07-2005 George Moschovitis <gm@navel.gr>
30
+
31
+ * lib/glue/markup.rb: moved here.
32
+
33
+ * lib/glue/localization.rb: moved here.
34
+
35
+ * lib/glue/builder.rb: return self.
36
+
37
+ 17-07-2005 George Moschovitis <gm@navel.gr>
38
+
39
+ * lib/glue/configuration.rb (#parse): make more fault tolerant,
40
+ added some documentation.
41
+
42
+ 16-07-2005 George Moschovitis <gm@navel.gr>
43
+
44
+ * test/glue/tc_builder.rb: implemented.
45
+
46
+ * lib/glue/builder.rb: introduced.
47
+
48
+ * lib/facet: introduced, will add facet extensions here.
49
+
1
50
  12-07-2005 George Moschovitis <gm@navel.gr>
2
51
 
3
- * lib/glue/helper.rb: moved here from nitro.
52
+ * --- VERSION 0.20.0 ---
53
+
54
+ * lib/glue/helper.rb: moved here from nitro.
4
55
 
5
56
  11-07-2005 George Moschovitis <gm@navel.gr>
6
57
 
7
- * doc/RELEASES: updated.
8
-
58
+ * doc/RELEASES: updated.
59
+
9
60
  04-07-2005 George Moschovitis <gm@navel.gr>
10
61
 
11
- * test/glue/tc_configuration.rb: changes to work under rake.
62
+ * test/glue/tc_configuration.rb: changes to work under rake.
12
63
 
13
64
  25-06-2005 George Moschovitis <gm@navel.gr>
14
65
 
15
- * lib/glue/object.rb (#subclasses_of): small update in the
16
- code.
66
+ * lib/glue/object.rb (#subclasses_of): small update in the
67
+ code.
17
68
 
18
69
  24-06-2005 George Moschovitis <gm@navel.gr>
19
70
 
20
- * lib/glue/configuration.rb (#parse): handle namespaces,
21
- fixed check for default param.
71
+ * lib/glue/configuration.rb (#parse): handle namespaces,
72
+ fixed check for default param.
22
73
 
23
74
  23-06-2005 George Moschovitis <gm@navel.gr>
24
75
 
25
- * test/glue/tc_configuration.rb: introduced.
26
-
27
- * lib/glue/configuration.rb: introduced,
28
- kinda works :),
29
- (Configuration#settings): per owner filter,
30
- use a hash to store settings.
31
- setting the owner updates the configuration metadata,
32
- reverse setting works too :-)
33
- (#parse, #load, #setup): implemented.
34
- the parsing support just ROCKS!
35
- (Settings): alias for configuration.
36
-
37
- * README: updated.
38
-
39
- * lib/glue/annotation.rb: introduced and adapted [ahellesoy],
40
- override Module.
76
+ * test/glue/tc_configuration.rb: introduced.
77
+
78
+ * lib/glue/configuration.rb: introduced,
79
+ kinda works :),
80
+ (Configuration#settings): per owner filter,
81
+ use a hash to store settings.
82
+ setting the owner updates the configuration metadata,
83
+ reverse setting works too :-)
84
+ (#parse, #load, #setup): implemented.
85
+ the parsing support just ROCKS!
86
+ (Settings): alias for configuration.
87
+
88
+ * README: updated.
89
+
90
+ * lib/glue/annotation.rb: introduced and adapted [ahellesoy],
91
+ override Module.
41
92
 
42
93
  17-06-2005 George Moschovitis <gm@navel.gr>
43
94
 
44
- * lib/glue/autoreload.rb: added.
95
+ * lib/glue/autoreload.rb: added.
45
96
 
46
97
  16-06-2005 George Moschovitis <gm@navel.gr>
47
98
 
48
- * lib/glue/attribute.rb: only create singleton accessors.
49
-
50
- * lib/glue/logger.rb (#set): improved API, now accepts String.
99
+ * lib/glue/attribute.rb: only create singleton accessors.
100
+
101
+ * lib/glue/logger.rb (#set): improved API, now accepts String.
51
102
 
52
103
  07-06-2005 George Moschovitis <gm@navel.gr>
53
104
 
54
- * lib/glue/property.rb (##copy_features): implemented.
105
+ * lib/glue/property.rb (##copy_features): implemented.
55
106
 
56
- * lib/glue/flexob.rb: implemented each.
107
+ * lib/glue/flexob.rb: implemented each.
57
108
 
58
109
  04-06-2005 George Moschovitis <gm@navel.gr>
59
110
 
60
- * test/glue/flexob.rb: implemented.
61
-
62
- * lib/glue/flexob.rb: added [] accessors.
63
-
64
- * lib/glue/property.rb: metadata alias for __meta,
65
- made __meta a flexob for extra ..flexibility,
66
- added support for boolean metadata.
111
+ * test/glue/flexob.rb: implemented.
112
+
113
+ * lib/glue/flexob.rb: added [] accessors.
114
+
115
+ * lib/glue/property.rb: metadata alias for __meta,
116
+ made __meta a flexob for extra ..flexibility,
117
+ added support for boolean metadata.
67
118
 
68
119
  31-05-2005 George Moschovitis <gm@navel.gr>
69
120
 
70
- * --- VERSION 0.19.0 ---
71
-
72
- * test/*: fixes to pass again.
121
+ * --- VERSION 0.19.0 ---
122
+
123
+ * test/*: fixes to pass again.
73
124
 
74
125
  27-05-2005 George Moschovitis <gm@navel.gr>
75
126
 
76
- * lib/glue/sanitize.rb: added.
127
+ * lib/glue/sanitize.rb: added.
77
128
 
78
129
  25-05-2005 George Moschovitis <gm@navel.gr>
79
130
 
80
- * Rakefile: added the dependency of facets here.
131
+ * Rakefile: added the dependency of facets here.
81
132
 
82
133
  24-05-2005 George Moschovitis <gm@navel.gr>
83
134
 
84
- * lib/glue/inflector.rb: removed (now in facets).
85
-
86
- * lib/glue/dynamic_include.rb: removed (now in facets).
87
-
88
- * lib/glue/cache.rb: removed (now in facets)
89
-
90
- * vendor: removed.
135
+ * lib/glue/inflector.rb: removed (now in facets).
136
+
137
+ * lib/glue/dynamic_include.rb: removed (now in facets).
138
+
139
+ * lib/glue/cache.rb: removed (now in facets)
140
+
141
+ * vendor: removed.
91
142
 
92
143
  22-05-2005 George Moschovitis <gm@navel.gr>
93
144
 
94
- * lib/glue.rb (pp_exception): added some cleanup code.
145
+ * lib/glue.rb (pp_exception): added some cleanup code.
95
146
 
96
147
  15-05-2005 George Moschovitis <gm@navel.gr>
97
148
 
98
- * doc/RELEASES: updated.
149
+ * doc/RELEASES: updated.
99
150
 
100
151
  01-05-2005 George Moschovitis <gm@navel.gr>
101
152
 
102
- * lib/glue.rb: nil.blank?
103
-
153
+ * lib/glue.rb: nil.blank?
154
+
104
155
  25-04-2005 George Moschovitis <gm@navel.gr>
105
156
 
106
- * lib/glue/property.rb (Property): removed name.
157
+ * lib/glue/property.rb (Property): removed name.
107
158
 
108
159
  23-04-2005 George Moschovitis <gm@navel.gr>
109
160
 
110
- * lib/glue/property.rb: properties helper.
161
+ * lib/glue/property.rb: properties helper.
111
162
 
112
163
  22-04-2005 George Moschovitis <gm@navel.gr>
113
164
 
114
- * lib/glue/property.rb: include Og::EntityMixin if calling property.
165
+ * lib/glue/property.rb: include Og::EntityMixin if calling property.
115
166
 
116
167
  15-04-2005 George Moschovitis <gm@navel.gr>
117
168
 
118
- * lib/glue/aspects.rb (#append_features): fixed stupid include bug!
119
- improved inherited code,
120
- fix: use __meta to keep the advices.
169
+ * lib/glue/aspects.rb (#append_features): fixed stupid include bug!
170
+ improved inherited code,
171
+ fix: use __meta to keep the advices.
121
172
 
122
- * lib/glue/property.rb: include Aspects if calling property.
173
+ * lib/glue/property.rb: include Aspects if calling property.
123
174
 
124
175
  14-04-2005 George Moschovitis <gm@navel.gr>
125
176
 
126
- * lib/glue/aspects.rb: fixed proc aspect,
127
- handle Module inclusion.
177
+ * lib/glue/aspects.rb: fixed proc aspect,
178
+ handle Module inclusion.
128
179
 
129
180
  13-04-2005 George Moschovitis <gm@navel.gr>
130
181
 
131
- * lib/glue/aspects.rb (#include_advice_modules): iplemented.
132
- cooler, added support for Aspects as modules,
133
- added some aliases.
182
+ * lib/glue/aspects.rb (#include_advice_modules): iplemented.
183
+ cooler, added support for Aspects as modules,
184
+ added some aliases.
134
185
 
135
186
  12-04-2005 George Moschovitis <gm@navel.gr>
136
187
 
137
- * Rakefile: updated to support autoupload to Rubyforge. [flgr]
188
+ * Rakefile: updated to support autoupload to Rubyforge. [flgr]
138
189
 
139
190
  11-04-2005 George Moschovitis <gm@navel.gr>
140
191
 
141
- * test/glue/tc_aspects.rb: introduced and implemented tests.
192
+ * test/glue/tc_aspects.rb: introduced and implemented tests.
142
193
 
143
- * lib/glue/aspects.rb: introduced,
144
- copied code from /lib/nitro/filters.rb
145
- (Aspect): introduced.
146
- (Advice): introduced,
147
- it works :)
148
- (#wrap): handle methods with any arity.
149
- use join instead of when.
150
- (##wrap): recoded implementation.
151
- allow for instance and class aspects,
152
- many small fixes.
194
+ * lib/glue/aspects.rb: introduced,
195
+ copied code from /lib/nitro/filters.rb
196
+ (Aspect): introduced.
197
+ (Advice): introduced,
198
+ it works :)
199
+ (#wrap): handle methods with any arity.
200
+ use join instead of when.
201
+ (##wrap): recoded implementation.
202
+ allow for instance and class aspects,
203
+ many small fixes.
153
204
 
154
- * created new public SVN repository, to allow for easier
155
- patching by the community.
205
+ * created new public SVN repository, to allow for easier
206
+ patching by the community.
156
207
 
157
208
  09-04-2005 George Moschovitis <gm@navel.gr>
158
209
 
159
- * test/*: fixes to pass again.
210
+ * test/*: fixes to pass again.
160
211
 
161
- * lib/glue/flexob.rb (#update): added.
212
+ * lib/glue/flexob.rb (#update): added.
162
213
 
163
214
  08-04-2005 George Moschovitis <gm@navel.gr>
164
215
 
165
- * Rakefile: removed flexob, extensions, ruby-breakpointer dependencies [james_b],
166
- bumped required Ruby version.
216
+ * Rakefile: removed flexob, extensions, ruby-breakpointer dependencies [james_b],
217
+ bumped required Ruby version.
167
218
 
168
- * test/*: many small fixes.
219
+ * test/*: many small fixes.
169
220
 
170
- * Rakefile: fixed to run tests.
221
+ * Rakefile: fixed to run tests.
171
222
 
172
- * lib/glue.rb: include in TOPLEVEL binding for easy access.
223
+ * lib/glue.rb: include in TOPLEVEL binding for easy access.
173
224
 
174
- * lib/glue/dynamic_include.rb: added alias.
225
+ * lib/glue/dynamic_include.rb: added alias.
175
226
 
176
- * lib/glue/attribute.rb: removed call_xx method.
227
+ * lib/glue/attribute.rb: removed call_xx method.
177
228
 
178
- * MAJOR: changed the namespace from N to Glue.
229
+ * MAJOR: changed the namespace from N to Glue.
179
230
 
180
231
  01-04-2005 George Moschovitis <gm@navel.gr>
181
232
 
182
- * --- VERSION 0.15.0 ---
233
+ * --- VERSION 0.15.0 ---
183
234
 
184
- * doc/RELEASES: updated.
235
+ * doc/RELEASES: updated.
185
236
 
186
- * README: updated.
237
+ * README: updated.
187
238
 
188
239
  31-03-2005 George Moschovitis <gm@navel.gr>
189
240
 
190
- * lib/glue/dynamic_include.rb: check if append_dynamic exists.
241
+ * lib/glue/dynamic_include.rb: check if append_dynamic exists.
191
242
 
192
243
  30-03-2005 George Moschovitis <gm@navel.gr>
193
244
 
194
- * lib/glue/dynamic_include.rb: MEGACOOL, implemented.
245
+ * lib/glue/dynamic_include.rb: MEGACOOL, implemented.
195
246
 
196
247
  24-03-2005 George Moschovitis <gm@navel.gr>
197
248
 
198
- * --- VERSION 0.14.0 ---
249
+ * --- VERSION 0.14.0 ---
199
250
 
200
- * test/glue/tc_property.rb: added more tests.
251
+ * test/glue/tc_property.rb: added more tests.
201
252
 
202
- * lib/glue/property.rb (#enchant): moved inheritance code
203
- here,
204
- Totaly recoded __props/__meta inhertiance implementation,
205
- it works now!
253
+ * lib/glue/property.rb (#enchant): moved inheritance code
254
+ here,
255
+ Totaly recoded __props/__meta inhertiance implementation,
256
+ it works now!
206
257
 
207
258
  20-03-2005 George Moschovitis <gm@navel.gr>
208
259
 
209
- * moved vendor directory here (to be removed soon).
260
+ * moved vendor directory here (to be removed soon).
210
261
 
211
262
  19-03-2005 George Moschovitis <gm@navel.gr>
212
263
 
213
- * lib/glue/logger.rb (Logging): added.
264
+ * lib/glue/logger.rb (Logging): added.
214
265
 
215
266
  17-03-2005 George Moschovitis <gm@navel.gr>
216
267
 
217
- * --- VERSION 0.13.0 ---
268
+ * --- VERSION 0.13.0 ---
218
269
 
219
- * Rakefile: updated and fixed bugs.
270
+ * Rakefile: updated and fixed bugs.
220
271
 
221
- * test/*: changes to make the tests pass again.
272
+ * test/*: changes to make the tests pass again.
222
273
 
223
274
  12-03-2005 George Moschovitis <gm@navel.gr>
224
275
 
225
- * test/glue/tc_validation.rb: added more tests.
276
+ * test/glue/tc_validation.rb: added more tests.
226
277
 
227
- * lib/glue/validation.rb (#validate_numeric): implemented,
278
+ * lib/glue/validation.rb (#validate_numeric): implemented,
228
279
 
229
280
  10-03-2005 George Moschovitis <gm@navel.gr>
230
281
 
231
- * lib/glue.rb: added Version.
282
+ * lib/glue.rb: added Version.
232
283
 
233
- * Rakefile: implemented.
284
+ * Rakefile: implemented.
234
285
 
235
- * split from nitro CHANGELOG.
286
+ * split from nitro CHANGELOG.
data/INSTALL CHANGED
@@ -2,24 +2,24 @@
2
2
 
3
3
  1. Download and install RubyGems:
4
4
 
5
- http://rubygems.rubyforge.org
5
+ http://rubygems.rubyforge.org
6
6
 
7
7
  2. Install the distribution:
8
8
 
9
- gem install glue
9
+ gem install glue
10
10
 
11
- When asked about the dependencies to include, only accept
12
- the dependencies for the RDBMS backends you are planning
13
- to use.
11
+ When asked about the dependencies to include, only accept
12
+ the dependencies for the RDBMS backends you are planning
13
+ to use.
14
14
 
15
15
  3. Set environment variable (required to load RubyGems):
16
16
 
17
- export RUBYOPT=-rubygems
17
+ export RUBYOPT=-rubygems
18
18
 
19
- You can add this in you .bashrc in Unix.
19
+ You can add this in you .bashrc in Unix.
20
20
 
21
- Alternatively you can run your applications with the -rubygem
22
- option:
21
+ Alternatively you can run your applications with the -rubygem
22
+ option:
23
23
 
24
24
  ruby -rubygem xxx.rb
25
25
 
@@ -31,13 +31,13 @@ a standard installation script is provided.
31
31
 
32
32
  1. Switch to an administrator account
33
33
 
34
- For example in Unix:
34
+ For example in Unix:
35
35
 
36
- $ su -
36
+ $ su -
37
37
 
38
38
  2. Run the installation script.
39
39
 
40
- $ ruby install.rb
40
+ $ ruby install.rb
41
41
 
42
42
  This installation script also installs some vendor libraries
43
43
  that you possibly have allready installed. Use with caution.
data/README CHANGED
@@ -1,4 +1,4 @@
1
- = Glue 0.19.0 README
1
+ = Glue 0.21.0 README
2
2
 
3
3
  Useful utilites and methods.
4
4