Setting up help for an object with methods

Sometimes you might want help for methods on an object.

For instance our database library returns a database connection object that has methods with help. Iguana’s help system makes it possible to register help for these methods also.

Another example would be say you were writing a library which acts as an adapter like a “Salesforce” adapter - you authenticate and get a salesforce object that has methods on it to do things with the sales force API. Here’s some imaginary code:

local S = SALESconnect{user='fred', password=Secret} local List = S:listCustomers{filter="ABC*"} S:addCustomer{name="Acme", description="A generic company"}

This outlines the process:

  1. Give it a description of your choice.

  2. Add a parameter name and a description.

    1. Select the “DOES THE FUNCTION TAKE A SINGLE TABLE ARGUMENT?” option next to Parameters and click Save.

To have this help file show up in auto-completion, we now have to map it to the help system.

  1. Create a file called mappings.lua in MyLibrary directory

  2. Define a lua table called Methods – this is a table of methods our help system will reference

local Methods = {};
  1. Copy and paste the function below, which references the help file we edited:

function iguana.plus1(T) if (T.number) then return T.number + 1 end end
  1. We will now add this function to our Methods table by using the following code:

  1. Finally, we call help.map, which takes a table with two arguments, dir and methods dir will be the directory MyLibrary we created, and methods will be our Methods table

 

The final code should look like the below: