A collection of methods and classes required to construct calendars in, and convert Gregorian dates to, the Gaulish Calendar found in Coligny, France, according to Helen McKay's reconstruction.

gem install coligny -v 0.4.0



Gem Version Build Status Code Climate Test Coverage Dependency Status

Welcome! Swáel!

This gem is intended to provide a resource for the use of the Coligny Calendar, according to its alignment by Helen McKay, in the Ruby Language.


  • Refactor populate methods for 30-year cycle
  • Add Inscriptions for dates(?)
  • Comments


Add this line to your application's Gemfile:

gem 'coligny'

And then execute:

$ bundle

Or install it yourself as:

$ gem install coligny


The main functionality of this project is the conversion of dates to and from the Coligny Calendar. To convert a Gregorian date to Coligny:

Using the 30-year cycle of Saturn:

example = Date.new(2016, 7, 24)
example_new = example.to_coligny_date
#=> #<ColignyDate:0x00000001a97f30>

Using the 19-year Metonic Cycle:

example = Date.new(2016, 7, 24)
example_new = example.to_coligny_date(true)
#=> #<ColignyDate:0x00000001a97f30>

To convert to a Gregorian Date from a Coligny Date:

The method's arguments are the same as Ruby's Date object, i.e. (year, month, day) However, the Coligny Months must be passed as strings.

Using the 30-year Saturn cycle:

example = Coligny::ColignyDate.new(3062, "Rivros", 10)
exmple_new = example.to_gregorian_date
#=> #<Date: 2043-07-24 ((2467455j,0s,0n),+0s,2299161j)>

Using the 19-year Metonic cycle:

example = Coligny::ColignyDate.new(3062, "Rivros", 10, true)
exmple_new = example.to_gregorian_date
#=> #<Date: 2043-07-23 ((2467455j,0s,0n),+0s,2299161j)>

Attributes for dates in the Coligny calendar can be accessed:

example = Coligny::ColignyDate.new(3062, "Rivros", 10)
#=> 3062
#=> "Rivros"
#=> 30
#=> 10

Days can be added to a Coligny Date to find the resulting date:




For the purpose of creating a calendar of the year, the ColignyYear class can be used.

example = Coligny::ColignyYear.new(2017)
#=> #<ColignyYear:0x000000018420f0>

A ColignyYear class has the attribute "months" which is an array of instances of the ColignyMonths class:


#=>[#<ColignyMonth:0x00000001599fb0 @name="Samonios", @days=30>, 
	#<ColignyMonth:0x00000001599f60 @name="Dumanios", @days=29>, 
	#<ColignyMonth:0x00000001599f10 @name="Rivros", @days=30>, 
	#<ColignyMonth:0x00000001599e70 @name="Anagantios", @days=29>, 
	#<ColignyMonth:0x00000001599da8 @name="Ogronios", @days=30>, 
	#<ColignyMonth:0x00000001599d58 @name="Cutios", @days=30>, 
	#<ColignyMonth:0x00000001599d08 @name="Giamonios", @days=29>, 
	#<ColignyMonth:0x00000001599cb8 @name="Simiuisonna", @days=30>, 
	#<ColignyMonth:0x00000001599b28 @name="Equos", @days=29>, 
	#<ColignyMonth:0x00000001599c68 @name="Elembi", @days=29>, 
	#<ColignyMonth:0x00000001599c18 @name="Aedrinni", @days=30>,
	#<ColignyMonth:0x00000001599bc8 @name="Cantlos", @days=29>]


The gem is available as open source under the terms of the MIT License.


Developer - Shane Krusen

The model of the Coligny Calendar used for this project is the product of the work of the brilliant and lovely Helen McKay, the leading expert on the calendar.

Support and feedback from the Modern Gaulish Community, Steve Hansen, Helen McKay, and my mentor, Klint Thrasher.