Tacview Client
A Ruby client that speaks the Tacview protocol and can connect to a Tacview compatible server.
This Gem is tested against the latest non-preview releases of Ruby and JRuby.
Installation
Add this line to your application's Gemfile:
gem 'tacview_client'
And then execute:
$ bundle
Or install it yourself as:
$ gem install tacview_client
Usage
API
To connect to a Tacview server with this library you can use the following code
require 'tacview_client'
# See docs for all parameters
client = TacviewClient::Client.new host: 127.0.0.1,
processor: ProcessorInstance
This gem uses Inversion Of Control principles and expects you to provide an
object to receive events for processing. This can be a Module or a Class
and it must implement the methods descibed in the BaseProcessor class. See
the documentation of this class for more information.
For an example of this see the ConsoleOutputter module in the
exe/connect_tacview file
Logging
This gem provides no logging out of the box. If you want to add logging then
the recommended approach is to create your own logger class and use
Module.prepend to prepend it to the Client class (For logging connection
information) or the Reader class's #route_line method for logging of the
raw ACMI lines
For an example of this see the TacviewClientLogger module in the
exe/connect_tacview file
Command-line
This gem provides a command-line application. Use connect_tacview --help for
invocation information. Thie command-line will connect to a Tacview server and
print some connection debug information followed by the parsed event stream to
the terminal
Development
After checking out the repo, run bin/setup to install dependencies. Then run
rake to run rubocop and the tests. You can also run bin/console for an
interactive prompt that will allow you to experiment.
Contributing
Bug reports and pull requests are welcome on GitLab.
License
The gem is available as open source under the terms of the MIT License.