#Version history#
##1.3.0 (10/24/16)
- Added
class:create
, which allocates a new instance without invoking the class initializer - Added 30log-commons
- Updated specs
##1.2.0 (03/10/2016)
- Added
class:cast()
, changes the class of an instance
##1.1.0 (09/26/2016)
- Added
class:subclasses()
returns the list of all classes which extend fromclass
- Added
class:instances()
, returns the list of all instances ofclass
- Added
class:classOf()
, checks ifclass
is a superclass of arg - Added
class:subclassOf()
, checks ifclass
is a subclass of arg - Added
instance:instanceOf()
, checks ifinstance
is an instance of arg - Added
class:without()
to remove a mixin from a class - Added
class:with()
, includes a mixin to a class
- Changed implementation of
class.isClass
, now only checks if arg is a class - Changed implementation of
class.isInstance
, now only checks if arg is an instance - Removed
class:include()
- An instance of
class
is considered to be the instance of any superclass ofclass
- A class is considered to be the subclass of any of its direct superclass's superclasses
##1.0.0 (01/09/2015)
require "30log"
now returns a callable table- Added
class.isClass
- Added
class.isInstance
- Adding mixins can be chained
subclass.super
returns thesuperclass
ofsubclass
instance.class
returns theclass
ofinstance
- Changed
class
prototype toclass(name, params)
- Renamed
class:__init()
toclass:init()
- Renamed
class.__name
toclass.name
- Renamed
class:extends()
toclass:extend
- Renamed
class:is()
toclass:extends
- Renamed
class:has()
toclass:includes
- Changed
class:extend
prototype toclass:extend(name, params)
- Changed
tostring(class)
andtostring(instance)
output.
##0.9.1 (03/02/2014)
- Internal objects/classes registers made tables with weak keys.
##0.9.0 (02/07/2014)
- Added
class.is
andinstance.is
to inspect inheritance relationship between two objects. - Removed spaces in class/instance tostring output.
##0.8.0 (01/11/2014)
- Mixins are now included with
include
, notwith
- Objects (instances) cannot call
new
- Shortened class/instances
__tostring
output (class (?)
instead ofclass (Unnamed)
) - Bugfixes for
30logclean
(Thanks zorfmorf) - Updated specification tests and README
##0.7.0 (01/05/2014)
- Fix for chained class extension attributes overriding when given a prototype (Thanks Italo Maia)
- Updated specs
- Removed class-commons plugin, moved to 30logclasscommons
##0.6.0 (08/08/2013)
- Added global source
- Made call to class methods available through initializers
- Made class attributes instantly available upon derivation
- Updated clean source
- Updated
Class Commons
compatibility to meet with the its specifications - Added
Class Commons
test suite - Updated specs
- Added performance benchmark
- 2 whitespaces as tabs, for indentation
##0.5.0 (06/13/2013)
- Added mixins
- Added clean source
- Updated Readme and specs tests
##0.4.1 (02/14/2013)
- named classes
##0.4.0 (02/13/2013)
- __init can either be a table or a function
- Added the abitlity to turn classes and objects into strings.
##0.3.0 (09/01/13)
- Added Class-Commons support (Thanks to TsT2005)
- Added Tracis-CI validation
- Updated Readme with chained initialization sample
- Updated specs
##0.2.1 (10/31/12)
- Added specs
##0.2.1 (10/04/12)
- Added local shortcuts to global functions internally used
- Typo fix in Readme's snippets
##0.2 (08/28/12)
- Now returns a local function when required. No longer pollutes the global env.
- Some code compression, to meet with the 30lines rule!
- Added version history.
- Updated Readme
##0.1 (08/25/12)
- Initial Release