Skip to content
YonabaPublic

About

30 lines library for object orientation in Lua

Topics

Resources

Stars

485 stars

Watchers

35 watching

Forks

Repository files navigation

30log logo

Join the chat at https://gitter.im/Yonaba/30log Build Status Lua License Coverage Status

30log, in extenso 30 Lines Of Goodness is a minified framework for object-orientation in Lua. It provides named and unnamed classes, single inheritance, metamethods and a basic support for mixins. In 30 lines.
Well, somehow.

Download

Archive

Current release is 1.3.0. See other releases.

Bash

This will clone the repository, as-is, and deliver the cutting edge release. Might be unstable.

git clone git://github.com/Yonaba/30log.git

LuaRocks

This will download and install the latest stable release from Luarocks servers.

luarocks install 30log

Wiki

A full documentation is available on the wiki. Find the project page at yonaba.github.io/30log.

Class-Commons support

Class-Commons is an interface which provides a common API for a wide range of Object Orientation libraries in Lua. There is a small plugin, originally written by TsT which provides compatibility between 30log and Class-commons.
See the module 30log-commons.lua.

Specs

You can run the included specs with Telescope using the following command from Lua from the root foolder:

lua tsc -f specs/*

About the source

30log-clean.lua

30log was initially designed for minimalistic purposes. But then commit after commit, I came up with a source code that was obviously surpassing 30 lines. As I wanted to stick to the "30-lines" rule that defines the name of this library, I had to use an ugly syntax which not much elegant, yet 100 % functional.
For those who might be interested though, the file 30log-clean.lua contains the full source code, properly formatted and well indented for your perusal.

30log-global.lua

The file 30log-global.lua features the exact same source as the original 30log.lua, excepts that it sets a global named class. This is convenient for Lua-based frameworks such as Codea.

30log-singleton.lua

The file 30log-singleton.lua is a singleton pattern implementation for use with 30log.

Contributors

License

This work is MIT-Licensed.

About

30 lines library for object orientation in Lua

Topics

Resources

Stars

485 stars

Watchers

35 watching

Forks

Releases

Packages

Used by

Contributors

Languages