buckle2000
40aa4cb7c5
Class() constuction
...
Fix document
2016-09-07 21:52:08 +02:00
buckle2000
15eb5f1e8e
easier class creation
2016-09-07 21:52:08 +02:00
Nico Prins
038bc9025f
Changed how includes are referenced.
2015-05-08 15:41:38 -07:00
Nico Prins
656fd17dc4
Added string includes using import method.
2015-05-06 18:05:19 -07:00
Nico Prins
dbf60e3dc5
Fixed include helper skipping falsy values.
2015-05-05 09:26:52 -07:00
Matthias Richter
4f53485fb7
( Fix #37 ) Copy metatable in class:clone()
2014-08-22 13:51:25 +02:00
Matthias Richter
ef2c4f6c56
Fix class commons compatibility
2013-02-25 18:46:04 +01:00
Matthias Richter
8d4e5bb65f
Update license header
2013-02-20 16:54:57 +01:00
Matthias Richter
9f678bc0e2
Rewrite class system
2013-02-20 15:53:13 +01:00
Matthias Richter
adcceed73b
Update license header
2012-04-10 17:00:02 +02:00
Matthias Richter
9d76e4d020
Remove name inference in class.lua.
2012-03-31 14:27:24 +02:00
Matthias Richter
31760b00c7
Update class to match class.commons spec
2011-11-16 13:34:59 +01:00
Matthias Richter
e2144b525d
Adhere to Class-Commons specs with delayed initializers
2011-09-28 18:17:04 +02:00
Matthias Richter
dfac6aa4ce
Add metatable to object before calling the constructor.
...
Previously, a constructor had no access to static members via self.
E.g. this would have failed:
class = require 'class'
A = class{function(self) assert(self.foo) end}
A.foo = true
a = A()
2011-09-28 17:48:25 +02:00
Matthias Richter
2264371c6b
Class commons interface (see https://github.com/bartbes/Class-Commons )
2011-08-29 17:41:05 +02:00
Matthias Richter
6089ad4494
Bug in non-table syntax: "attempt to index local 'args'"
2011-08-12 21:42:58 +02:00
Matthias Richter
28b698fb00
Eliminate use of module(...) function
2011-07-06 14:19:31 +02:00
Matthias Richter
49554f2521
Try to infer name of class when no name given. Add obj:is_a(class).
2011-04-11 16:44:31 +02:00
Matthias Richter
94da317ed9
Add optional `inherits' argument to class.
...
`inherits' is basically a shortcut to Foo = class{...}
Foo:inherit(supers), i.e. those have the same effect:
Foo:class{ inherits = {super1, super2} }
Bar = class{}
Bar:inherit(super1, super2)
2011-03-12 23:59:43 +01:00
Matthias Richter
d1d6dbb056
Make proper modules
2011-01-18 17:44:38 +01:00
Matthias Richter
1e961e9a07
Remove useless 'Interface' function
2010-11-13 17:10:47 +01:00
Matthias Richter
1e25c2a2e2
Add convenience class:Inherit method
2010-11-13 16:53:50 +01:00
Matthias Richter
8311ddbad1
Add license header
2010-09-19 15:37:55 +02:00
Matthias Richter
f491a92eaa
Initial commit
2010-08-09 17:52:48 +02:00