glue 0.20.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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