Skip to content

thehunmonkgroup/luchia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Luchia

Lua API for CouchDB.

  • Compatible with Lua 5.1, 5.2, 5.3, 5.4
  • 100% unit test coverage

NOTE: 1.x branch is no longer maintained. It is compatible with CouchDb 2.x and earlier.

Installation:

It is recommended to install the LuaRocks package manager, as all required and optional dependencies are easy to install via this method.

Requires

  • lua-cjson
  • lualogging
  • luasocket

Optional

  • stdlib (prettier output for luchia_get)
  • ldoc (to generate local documentation)
  • lunatest (to run unit tests)
  • luacov (to view unit test coverage)

With LuaRocks, simply run:

luarocks install luchia

For manual installation, copy luchia.lua and the luchia directory from the source directory, and put them somewhere in your Lua package path.

Documentation

See the online manual.

For local documentation, all documentation is inline, but is ldoc compatible.

To generate HTML documentation locally

  • Checkout this repository

  • Install ldoc luarocks install ldoc

  • In the root directory of the repository, run:

    ldoc .

Support

The issue tracker for this project is provided to file bug reports, feature requests, and project tasks -- support requests are not accepted via the issue tracker. For all support-related issues, including configuration, usage, and training, consider hiring a competent consultant.

Unit tests

Luchia has full unit test coverage. They can be run with:

cd /path/to/luchia/tests
lua run_unit_tests.lua -v

Integration tests

The higher-level Luchia classes (luchia.database, luchia.document, luchia.utilities) have a full integration test suite. To run it, make sure that the default server settings in luchia.conf point to a valid, running CouchDB instance with full administrative access, and run:

cd /path/to/luchia/tests
lua run_integration_tests.lua -v