tricorder
A Domain-Specific Language for Star Trek API (http://stapi.co)
Installation
gem install tricorder
Usage
CLI
Once installed, you can run the command tricorder.
To display all the available options for search type tricorder help or tricorder help search.
To search the API, invoke the search <keyword> command, which searches all databases by default.
tricorder search Uhura --api-key=ABC123
There are only 250 queries for hour for non-authenticated users, to specify the API Key, add the --api-key=APIKEY set the API Key on each query.
To search only specific database, use the --database <database name> to specify the database, for example
tricorder search Uhura --database character book
To print extra details, add the --print-details in the command, for example
tricorder search uhura --database character --print-details
To scope on a specific detail, add the --print-info <scope> scoping a result
$ tricorder search Uhura --database character --print-only-once --print-info=characterSpecies name
Human
To use a plugin use the --preprocessor
$ tricorder search Uhura --disable-logging --database character --print-only-once --print-info=characterSpecies name --preprocessor name2klingon printobject scope2klingon --format raw
0xF8DB 0xF8E8 0xF8DD 0xF8E3 0xF8D0 0xF8E5 0xF8D6 0xF8E5 0xF8E1 0xF8D0
Human
0xF8D6 0xF8E5 0xF8DA 0xF8D0 0xF8DB
To set the format output, use the --format command, available formats are plain, raw, json and html
tricorder search Uhura --database character --format html
Domain Specific Language
Here's an example of using tricorder programmatically via it's own DSL syntax,
require 'tricorder'
include Tricorder
tricorder do
no_logging
api_key('MYAPIKEY')
set_subject('Uhura')
search_locations(:character)
print_only_once
print_info(['characterSpecies', 'name'])
end
It set no_logging, set's the API key, set the subject to 'Uhura', set the database to 'character', scope to 'characterSpecies name' and print only once.