matriarch 0.1

Sign up to get free protection for your applications and to get access to all the features.
data/COPYING ADDED
@@ -0,0 +1,355 @@
1
+
2
+ ENGLISH
3
+ Copyright (c) 2007 7rans
4
+
5
+ Specific libraries included in the this package have respective copyrights
6
+ to other authors and/or contributors. Please see the docuemtnation or
7
+ source code for these acknowledgements.
8
+
9
+ English is ditributed under the same terms as Ruby.
10
+
11
+
12
+
13
+ THE RUBY LICENSE
14
+ (http://www.ruby-lang.org/en/LICENSE.txt)
15
+
16
+ You may redistribute this software and/or modify it under either the terms of
17
+ the GPL (see below), or the conditions below:
18
+
19
+ 1. You may make and give away verbatim copies of the source form of the
20
+ software without restriction, provided that you duplicate all of the
21
+ original copyright notices and associated disclaimers.
22
+
23
+ 2. You may modify your copy of the software in any way, provided that
24
+ you do at least ONE of the following:
25
+
26
+ a) place your modifications in the Public Domain or otherwise
27
+ make them Freely Available, such as by posting said
28
+ modifications to Usenet or an equivalent medium, or by allowing
29
+ the author to include your modifications in the software.
30
+
31
+ b) use the modified software only within your corporation or
32
+ organization.
33
+
34
+ c) rename any non-standard executables so the names do not conflict
35
+ with standard executables, which must also be provided.
36
+
37
+ d) make other distribution arrangements with the author.
38
+
39
+ 3. You may distribute the software in object code or executable
40
+ form, provided that you do at least ONE of the following:
41
+
42
+ a) distribute the executables and library files of the software,
43
+ together with instructions (in the manual page or equivalent)
44
+ on where to get the original distribution.
45
+
46
+ b) accompany the distribution with the machine-readable source of
47
+ the software.
48
+
49
+ c) give non-standard executables non-standard names, with
50
+ instructions on where to get the original software distribution.
51
+
52
+ d) make other distribution arrangements with the author.
53
+
54
+ 4. You may modify and include the part of the software into any other
55
+ software (possibly commercial). But some files in the distribution
56
+ are not written by the author, so that they are not under these terms.
57
+
58
+ For the list of those files and their copying conditions, see the
59
+ file LEGAL.
60
+
61
+ 5. The scripts and library files supplied as input to or produced as
62
+ output from the software do not automatically fall under the
63
+ copyright of the software, but belong to whomever generated them,
64
+ and may be sold commercially, and may be aggregated with this
65
+ software.
66
+
67
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
68
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
69
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
70
+ PURPOSE.
71
+
72
+ ----------------------------------------------------------------------------
73
+
74
+
75
+ GNU GENERAL PUBLIC LICENSE
76
+ Version 2, June 1991
77
+
78
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
79
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
80
+ Everyone is permitted to copy and distribute verbatim copies
81
+ of this license document, but changing it is not allowed.
82
+
83
+ Preamble
84
+
85
+ The licenses for most software are designed to take away your
86
+ freedom to share and change it. By contrast, the GNU General Public
87
+ License is intended to guarantee your freedom to share and change free
88
+ software--to make sure the software is free for all its users. This
89
+ General Public License applies to most of the Free Software
90
+ Foundation's software and to any other program whose authors commit to
91
+ using it. (Some other Free Software Foundation software is covered by
92
+ the GNU Library General Public License instead.) You can apply it to
93
+ your programs, too.
94
+
95
+ When we speak of free software, we are referring to freedom, not
96
+ price. Our General Public Licenses are designed to make sure that you
97
+ have the freedom to distribute copies of free software (and charge for
98
+ this service if you wish), that you receive source code or can get it
99
+ if you want it, that you can change the software or use pieces of it
100
+ in new free programs; and that you know you can do these things.
101
+
102
+ To protect your rights, we need to make restrictions that forbid
103
+ anyone to deny you these rights or to ask you to surrender the rights.
104
+ These restrictions translate to certain responsibilities for you if you
105
+ distribute copies of the software, or if you modify it.
106
+
107
+ For example, if you distribute copies of such a program, whether
108
+ gratis or for a fee, you must give the recipients all the rights that
109
+ you have. You must make sure that they, too, receive or can get the
110
+ source code. And you must show them these terms so they know their
111
+ rights.
112
+
113
+ We protect your rights with two steps: (1) copyright the software, and
114
+ (2) offer you this license which gives you legal permission to copy,
115
+ distribute and/or modify the software.
116
+
117
+ Also, for each author's protection and ours, we want to make certain
118
+ that everyone understands that there is no warranty for this free
119
+ software. If the software is modified by someone else and passed on, we
120
+ want its recipients to know that what they have is not the original, so
121
+ that any problems introduced by others will not reflect on the original
122
+ authors' reputations.
123
+
124
+ Finally, any free program is threatened constantly by software
125
+ patents. We wish to avoid the danger that redistributors of a free
126
+ program will individually obtain patent licenses, in effect making the
127
+ program proprietary. To prevent this, we have made it clear that any
128
+ patent must be licensed for everyone's free use or not licensed at all.
129
+
130
+ The precise terms and conditions for copying, distribution and
131
+ modification follow.
132
+
133
+ GNU GENERAL PUBLIC LICENSE
134
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
135
+
136
+ 0. This License applies to any program or other work which contains
137
+ a notice placed by the copyright holder saying it may be distributed
138
+ under the terms of this General Public License. The "Program", below,
139
+ refers to any such program or work, and a "work based on the Program"
140
+ means either the Program or any derivative work under copyright law:
141
+ that is to say, a work containing the Program or a portion of it,
142
+ either verbatim or with modifications and/or translated into another
143
+ language. (Hereinafter, translation is included without limitation in
144
+ the term "modification".) Each licensee is addressed as "you".
145
+
146
+ Activities other than copying, distribution and modification are not
147
+ covered by this License; they are outside its scope. The act of
148
+ running the Program is not restricted, and the output from the Program
149
+ is covered only if its contents constitute a work based on the
150
+ Program (independent of having been made by running the Program).
151
+ Whether that is true depends on what the Program does.
152
+
153
+ 1. You may copy and distribute verbatim copies of the Program's
154
+ source code as you receive it, in any medium, provided that you
155
+ conspicuously and appropriately publish on each copy an appropriate
156
+ copyright notice and disclaimer of warranty; keep intact all the
157
+ notices that refer to this License and to the absence of any warranty;
158
+ and give any other recipients of the Program a copy of this License
159
+ along with the Program.
160
+
161
+ You may charge a fee for the physical act of transferring a copy, and
162
+ you may at your option offer warranty protection in exchange for a fee.
163
+
164
+ 2. You may modify your copy or copies of the Program or any portion
165
+ of it, thus forming a work based on the Program, and copy and
166
+ distribute such modifications or work under the terms of Section 1
167
+ above, provided that you also meet all of these conditions:
168
+
169
+ a) You must cause the modified files to carry prominent notices
170
+ stating that you changed the files and the date of any change.
171
+
172
+ b) You must cause any work that you distribute or publish, that in
173
+ whole or in part contains or is derived from the Program or any
174
+ part thereof, to be licensed as a whole at no charge to all third
175
+ parties under the terms of this License.
176
+
177
+ c) If the modified program normally reads commands interactively
178
+ when run, you must cause it, when started running for such
179
+ interactive use in the most ordinary way, to print or display an
180
+ announcement including an appropriate copyright notice and a
181
+ notice that there is no warranty (or else, saying that you provide
182
+ a warranty) and that users may redistribute the program under
183
+ these conditions, and telling the user how to view a copy of this
184
+ License. (Exception: if the Program itself is interactive but
185
+ does not normally print such an announcement, your work based on
186
+ the Program is not required to print an announcement.)
187
+
188
+ These requirements apply to the modified work as a whole. If
189
+ identifiable sections of that work are not derived from the Program,
190
+ and can be reasonably considered independent and separate works in
191
+ themselves, then this License, and its terms, do not apply to those
192
+ sections when you distribute them as separate works. But when you
193
+ distribute the same sections as part of a whole which is a work based
194
+ on the Program, the distribution of the whole must be on the terms of
195
+ this License, whose permissions for other licensees extend to the
196
+ entire whole, and thus to each and every part regardless of who wrote it.
197
+
198
+ Thus, it is not the intent of this section to claim rights or contest
199
+ your rights to work written entirely by you; rather, the intent is to
200
+ exercise the right to control the distribution of derivative or
201
+ collective works based on the Program.
202
+
203
+ In addition, mere aggregation of another work not based on the Program
204
+ with the Program (or with a work based on the Program) on a volume of
205
+ a storage or distribution medium does not bring the other work under
206
+ the scope of this License.
207
+
208
+ 3. You may copy and distribute the Program (or a work based on it,
209
+ under Section 2) in object code or executable form under the terms of
210
+ Sections 1 and 2 above provided that you also do one of the following:
211
+
212
+ a) Accompany it with the complete corresponding machine-readable
213
+ source code, which must be distributed under the terms of Sections
214
+ 1 and 2 above on a medium customarily used for software interchange; or,
215
+
216
+ b) Accompany it with a written offer, valid for at least three
217
+ years, to give any third party, for a charge no more than your
218
+ cost of physically performing source distribution, a complete
219
+ machine-readable copy of the corresponding source code, to be
220
+ distributed under the terms of Sections 1 and 2 above on a medium
221
+ customarily used for software interchange; or,
222
+
223
+ c) Accompany it with the information you received as to the offer
224
+ to distribute corresponding source code. (This alternative is
225
+ allowed only for noncommercial distribution and only if you
226
+ received the program in object code or executable form with such
227
+ an offer, in accord with Subsection b above.)
228
+
229
+ The source code for a work means the preferred form of the work for
230
+ making modifications to it. For an executable work, complete source
231
+ code means all the source code for all modules it contains, plus any
232
+ associated interface definition files, plus the scripts used to
233
+ control compilation and installation of the executable. However, as a
234
+ special exception, the source code distributed need not include
235
+ anything that is normally distributed (in either source or binary
236
+ form) with the major components (compiler, kernel, and so on) of the
237
+ operating system on which the executable runs, unless that component
238
+ itself accompanies the executable.
239
+
240
+ If distribution of executable or object code is made by offering
241
+ access to copy from a designated place, then offering equivalent
242
+ access to copy the source code from the same place counts as
243
+ distribution of the source code, even though third parties are not
244
+ compelled to copy the source along with the object code.
245
+
246
+ 4. You may not copy, modify, sublicense, or distribute the Program
247
+ except as expressly provided under this License. Any attempt
248
+ otherwise to copy, modify, sublicense or distribute the Program is
249
+ void, and will automatically terminate your rights under this License.
250
+ However, parties who have received copies, or rights, from you under
251
+ this License will not have their licenses terminated so long as such
252
+ parties remain in full compliance.
253
+
254
+ 5. You are not required to accept this License, since you have not
255
+ signed it. However, nothing else grants you permission to modify or
256
+ distribute the Program or its derivative works. These actions are
257
+ prohibited by law if you do not accept this License. Therefore, by
258
+ modifying or distributing the Program (or any work based on the
259
+ Program), you indicate your acceptance of this License to do so, and
260
+ all its terms and conditions for copying, distributing or modifying
261
+ the Program or works based on it.
262
+
263
+ 6. Each time you redistribute the Program (or any work based on the
264
+ Program), the recipient automatically receives a license from the
265
+ original licensor to copy, distribute or modify the Program subject to
266
+ these terms and conditions. You may not impose any further
267
+ restrictions on the recipients' exercise of the rights granted herein.
268
+ You are not responsible for enforcing compliance by third parties to
269
+ this License.
270
+
271
+ 7. If, as a consequence of a court judgment or allegation of patent
272
+ infringement or for any other reason (not limited to patent issues),
273
+ conditions are imposed on you (whether by court order, agreement or
274
+ otherwise) that contradict the conditions of this License, they do not
275
+ excuse you from the conditions of this License. If you cannot
276
+ distribute so as to satisfy simultaneously your obligations under this
277
+ License and any other pertinent obligations, then as a consequence you
278
+ may not distribute the Program at all. For example, if a patent
279
+ license would not permit royalty-free redistribution of the Program by
280
+ all those who receive copies directly or indirectly through you, then
281
+ the only way you could satisfy both it and this License would be to
282
+ refrain entirely from distribution of the Program.
283
+
284
+ If any portion of this section is held invalid or unenforceable under
285
+ any particular circumstance, the balance of the section is intended to
286
+ apply and the section as a whole is intended to apply in other
287
+ circumstances.
288
+
289
+ It is not the purpose of this section to induce you to infringe any
290
+ patents or other property right claims or to contest validity of any
291
+ such claims; this section has the sole purpose of protecting the
292
+ integrity of the free software distribution system, which is
293
+ implemented by public license practices. Many people have made
294
+ generous contributions to the wide range of software distributed
295
+ through that system in reliance on consistent application of that
296
+ system; it is up to the author/donor to decide if he or she is willing
297
+ to distribute software through any other system and a licensee cannot
298
+ impose that choice.
299
+
300
+ This section is intended to make thoroughly clear what is believed to
301
+ be a consequence of the rest of this License.
302
+
303
+ 8. If the distribution and/or use of the Program is restricted in
304
+ certain countries either by patents or by copyrighted interfaces, the
305
+ original copyright holder who places the Program under this License
306
+ may add an explicit geographical distribution limitation excluding
307
+ those countries, so that distribution is permitted only in or among
308
+ countries not thus excluded. In such case, this License incorporates
309
+ the limitation as if written in the body of this License.
310
+
311
+ 9. The Free Software Foundation may publish revised and/or new versions
312
+ of the General Public License from time to time. Such new versions will
313
+ be similar in spirit to the present version, but may differ in detail to
314
+ address new problems or concerns.
315
+
316
+ Each version is given a distinguishing version number. If the Program
317
+ specifies a version number of this License which applies to it and "any
318
+ later version", you have the option of following the terms and conditions
319
+ either of that version or of any later version published by the Free
320
+ Software Foundation. If the Program does not specify a version number of
321
+ this License, you may choose any version ever published by the Free Software
322
+ Foundation.
323
+
324
+ 10. If you wish to incorporate parts of the Program into other free
325
+ programs whose distribution conditions are different, write to the author
326
+ to ask for permission. For software which is copyrighted by the Free
327
+ Software Foundation, write to the Free Software Foundation; we sometimes
328
+ make exceptions for this. Our decision will be guided by the two goals
329
+ of preserving the free status of all derivatives of our free software and
330
+ of promoting the sharing and reuse of software generally.
331
+
332
+ NO WARRANTY
333
+
334
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
335
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
336
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
337
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
338
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
339
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
340
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
341
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
342
+ REPAIR OR CORRECTION.
343
+
344
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
345
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
346
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
347
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
348
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
349
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
350
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
351
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
352
+ POSSIBILITY OF SUCH DAMAGES.
353
+
354
+ END OF TERMS AND CONDITIONS
355
+
@@ -0,0 +1,15 @@
1
+ #!mast lib meta test [A-Z]*
2
+ lib
3
+ lib/matriarch
4
+ lib/matriarch/traits.rb
5
+ lib/matriarch.rb
6
+ meta
7
+ meta/contact
8
+ meta/description
9
+ meta/package
10
+ meta/project
11
+ meta/repository
12
+ meta/version
13
+ NOTES
14
+ README
15
+ COPYING
data/NOTES ADDED
@@ -0,0 +1,2 @@
1
+ How powerful would gtraits be with open objects/classes?
2
+
data/README ADDED
@@ -0,0 +1,78 @@
1
+ = Matriarch
2
+
3
+ * http://rubyworks.github.com/matriarch
4
+ * http://github.comd/rubyworks/matriarch
5
+
6
+
7
+ == DESCRIPTION:
8
+
9
+ Matriarch is an experimental implementation of *trait matricies*.
10
+ Trait matricies can be thought of linked grid of method nodes,
11
+ like linked lists but each node is connect in one direction to
12
+ it's super and sub methods, and in the other with its fellow
13
+ categorical set, something aking to a module.
14
+
15
+ Please kepp in mind this library is far from any sort of full
16
+ working order, and is provided "AS IS" primarily as means to
17
+ further exploration into the concept of *trait matricies*.
18
+
19
+
20
+ == FEATURES/PROBLEMS:
21
+
22
+ * Very flexible inheritance system
23
+ * Experimental implementation
24
+
25
+
26
+ == RELEASE NOTES:
27
+
28
+ Please see HISTORY file.
29
+
30
+
31
+ == SYNOPSIS:
32
+
33
+ Matriarch uses +to+ instead of +def+ to define method *nodes*.
34
+ This was done simply becuase it was much easier to code then
35
+ using Ruby's method_added hook.
36
+
37
+ class C < Matriarch::TraitsObject
38
+ to :x do
39
+ "C#x"
40
+ end
41
+ to :s do
42
+ self
43
+ end
44
+ end
45
+
46
+ c = C.new
47
+
48
+ c.x.assert == "C#x"
49
+
50
+ See RDocs for more information.
51
+
52
+
53
+ == INSTALLATION:
54
+
55
+ Per the usual RubyGems:
56
+
57
+ $ sudo gem install matriarch
58
+
59
+
60
+ == LICENSE:
61
+
62
+ (LGPL v3 License)
63
+
64
+ Copyright (c) 2009 Thomas Sawyer
65
+
66
+ This program is free software: you can redistribute it and/or modify
67
+ it under the terms of the GNU Lesser General Public License as published
68
+ by the Free Software Foundation, either version 3 of the License, or
69
+ (at your option) any later version.
70
+
71
+ This program is distributed in the hope that it will be useful,
72
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
73
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
74
+ GNU General Public License for more details.
75
+
76
+ You should have received a copy of the GNU Lesser General Public License
77
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
78
+
@@ -0,0 +1 @@
1
+ require 'matriarch/traits'
@@ -0,0 +1,140 @@
1
+ module Matriarch
2
+
3
+ class TraitMethod < Proc
4
+ attr_accessor :container
5
+
6
+ def initialize(container, returns=nil, &block)
7
+ super(&block)
8
+ @returns = returns
9
+ @container = container
10
+ end
11
+
12
+ def call(object, *arguments, &block)
13
+ #object.send(:define_method, &self)
14
+ object.instance_eval(&self) # need instance_exec
15
+ end
16
+
17
+ def return! ; @returns = true ; end
18
+
19
+ def return? ; @returns ; end
20
+ end
21
+
22
+ class TraitEvent
23
+ attr_accessor :input
24
+ attr_accessor :output
25
+ attr_accessor :method
26
+ end
27
+
28
+ # Traits never change an interface!!!!!!!!!!
29
+
30
+ class TraitsObject
31
+
32
+ class << self
33
+
34
+ def traits
35
+ @traits ||= Hash.new{|h,k| h[k]=[]}
36
+ end
37
+
38
+ # Define a post-positioned trait/method.
39
+
40
+ def to(name, returns=nil, &action)
41
+ name = name.to_sym
42
+ chain = traits[name]
43
+
44
+ if chain.empty?
45
+ define_method(name) do |*a| #&b|
46
+ trait.input = a # oringal input
47
+ chain.each do |tm|
48
+ trait.output = tm.call(self, *a) #, &b)
49
+ trait.method = tm
50
+ break if tm.return?
51
+ end
52
+ return trait.output
53
+ end
54
+ end
55
+
56
+ chain << TraitMethod.new(self, returns, &action)
57
+ end
58
+
59
+ # Define a pre-positioned trait/method.
60
+
61
+ def prior_to(name, returns=nil, &action)
62
+ name = name.to_sym
63
+ chain = traits[name]
64
+
65
+ if chain.empty?
66
+ define_method(name) do |*a| #&b|
67
+ trait.input = a # oringal input
68
+ chain.each do |tm|
69
+ triat.output = tm.call(self, *a) #, &b)
70
+ trait.trait = tm
71
+ break if tm.return?
72
+ end
73
+ return trait.output
74
+ end
75
+ end
76
+
77
+ chain.unshit(TraitMethod.new(self, returns, &action))
78
+ end
79
+
80
+ # Use traits
81
+ def include_traits(klass)
82
+ klass.traits.each do |name, chain|
83
+ traits[name].concat(chain)
84
+ end
85
+ end
86
+
87
+ # prepend traits
88
+ def prepend_triats(klass)
89
+ klass.traits.each do |name, chain|
90
+ traits[name].replace(chain + traits[name])
91
+ end
92
+ end
93
+
94
+ # Remove a traits
95
+ def remove_traits(klass)
96
+ traits.each do |name, chain|
97
+ chain.delete_if do |tm|
98
+ tm.container == klass
99
+ end
100
+ end
101
+ end
102
+
103
+ end
104
+
105
+ # ok. I know it's not thread-safe, but for now...
106
+ def trait
107
+ @triat ||= TraitEvent.new()
108
+ end
109
+
110
+ end
111
+
112
+ end
113
+
114
+ if __FILE__ == $0
115
+
116
+ class C < Matriarch::TraitsObject
117
+ to :jump do
118
+ puts "jump C!"; p self
119
+ end
120
+ end
121
+
122
+ c = C.new
123
+ c.jump
124
+
125
+ puts "---"
126
+
127
+ class T < Matriarch::TraitsObject
128
+ to :jump do
129
+ puts "jump T!"; p self
130
+ end
131
+ end
132
+
133
+ class C
134
+ include_traits T
135
+ end
136
+
137
+ c = C.new
138
+ c.jump
139
+
140
+ end
@@ -0,0 +1 @@
1
+ rubyworks-mailinglist@googlegroups.com
@@ -0,0 +1,2 @@
1
+ GTraits is component system for Ruby that sections
2
+ a class into a matrix of Method x Precidence.
@@ -0,0 +1 @@
1
+ matriarch
@@ -0,0 +1 @@
1
+ rubyworks
@@ -0,0 +1 @@
1
+ git://github.com/rubyworks/matriarch.git
@@ -0,0 +1 @@
1
+ 0.1
metadata ADDED
@@ -0,0 +1,75 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: matriarch
3
+ version: !ruby/object:Gem::Version
4
+ version: "0.1"
5
+ platform: ruby
6
+ authors:
7
+ - rubyworks-mailinglist@googlegroups.com
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-04 00:00:00 -04:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: |-
17
+ GTraits is component system for Ruby that sections
18
+ a class into a matrix of Method x Precidence.
19
+ email: rubyworks-mailinglist@googlegroups.com
20
+ executables: []
21
+
22
+ extensions: []
23
+
24
+ extra_rdoc_files:
25
+ - README
26
+ - MANIFEST
27
+ - NOTES
28
+ - COPYING
29
+ files:
30
+ - lib/matriarch/traits.rb
31
+ - lib/matriarch.rb
32
+ - meta/contact
33
+ - meta/description
34
+ - meta/package
35
+ - meta/project
36
+ - meta/repository
37
+ - meta/version
38
+ - NOTES
39
+ - README
40
+ - COPYING
41
+ - MANIFEST
42
+ has_rdoc: true
43
+ homepage:
44
+ licenses: []
45
+
46
+ post_install_message:
47
+ rdoc_options:
48
+ - --inline-source
49
+ - --title
50
+ - matriarch api
51
+ - --main
52
+ - README
53
+ require_paths:
54
+ - lib
55
+ required_ruby_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: "0"
60
+ version:
61
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: "0"
66
+ version:
67
+ requirements: []
68
+
69
+ rubyforge_project: matriarch
70
+ rubygems_version: 1.3.5
71
+ signing_key:
72
+ specification_version: 3
73
+ summary: GTraits is component system for Ruby that sections
74
+ test_files: []
75
+