0.0
No release in over 3 years
Low commit activity in last 3 years
This plugin creates a Value Object class that controls the logic of incomplete dates. It also creates a class method incomplete_date_attr to hook onto Active Record objects, so some of the attributes are stored in the database as an integer instead of a date
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.3.6

Runtime

>= 0
 Project Readme

incomplete_date

This plugin allows a Rails application to store and manage incomplete date data, which is very common in historical archives, particularly in genealogy.

Usage

Declare columns in the database, preferably with the expected attribute name prefixed, for instance with raw_. For example, for an attribute named birth_date we could declare a column named raw_birth_date or alternatively internal_birth_date. The type of these columns must be :integer.

Then in the models, to have the virtual attributes returning and accepting values of type IncompleteDate declare the following:

incomplete_date_attrs :birth_date, :death_date, :prefix => 'raw'

The default prefix is raw so we do not need to declare it, unless we used another prefix for the columns.

Alternatively, if there's no regular relation between the column name and the expected attribute name, use the following way:

incomplete_date_attr :attr_name, :raw_column_name

Note that in this last example we used the singular method call (finished in attr instead of attrs). In this case we pass the attribute name we want, followed by the real column name found in the database.

Installation

Add this line to your application's Gemfile:

gem 'incomplete_date'

And then execute:

$ bundle install

Alternatively, you can install it yourself as:

$ gem install incomplete_date

Contributing

If you want to contribute to (or fork) this project you can clone it by doing the following:

git clone add git://github.com/gnapse/incomplete_date.git

And then send pull requests.

License

Released under the MIT license.

Authors