AIRAC
¶ ↑
AIRAC cycle calculations for Ruby.
-
Author: Sven Schwyn - Bitcetera
Install¶ ↑
Security¶ ↑
This gem is cryptographically signed in order to assure it hasn’t been tampered with. Unless already done, please add the author’s public key as a trusted certificate now:
gem cert --add <(curl -Ls https://raw.github.com/svoop/airac/main/certs/svoop.pem)
Bundler¶ ↑
Add the following to the Gemfile
or gems.rb
of your Bundler powered Ruby project:
gem airac
And then install the bundle:
bundle install --trust-policy MediumSecurity
Usage¶ ↑
You can use this gem in your Ruby project:
cycle = AIRAC::Cycle.new('2018-01-01') cycle.date # => #<Date: 2017-12-07 ((2458095j,0s,0n),+0s,2299161j)> cycle.id # => 1713 (cycle + 5).id # => 1804 (cycle - 5).id # => 1708
The cycle can be formatted similar to Date#strftime
, however, the placeholder %i
represents the AIRAC
cycle ID:
cycle = AIRAC::Cycle.new('2018-01-01') cycle.to_s # "1713 2017-12-07" cycle.to_s("@%i as per %b %-d, %Y") # => "@1713 as per Dec 7, 2017"
The current AIRAC
cycle scheme started on 2015-06-25, therefore any calculation which leads to dates prior to inception will cause an error:
(cycle - 100).id # => ArgumentError
The AIRAC::Cycle
class implements Comparable
and its instances can safely be used s Hash
keys.
If you prefer to do the math on the shell, the airac
executable is your friend:
airac --help
Development¶ ↑
To install the development dependencies and then run the test suite:
bundle install bundle exec rake # run tests once bundle exec guard # run tests whenever files are modified
You’re welcome to submit issues and contribute code by forking the project and submitting pull requests.
License¶ ↑
The gem is available as open source under the terms of the MIT License.