Project

split_dmy

0.0
No commit activity in last 3 years
No release in over 3 years
Adds accessors to a class so that the date can be set as a string while days, months and years can be set as integers. It also allows for month as short and long text inputs, e.g. Jan, March. It will validate resulting dates and generate errors when parts are invalid and where combined parts are incorrect.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 4.2.6, ~> 4.2
~> 1.7
~> 11.0
~> 3.2
~> 0.37.2
 Project Readme

SplitDmy

Build Status Code Climate Test Coverage Gemnasium Gem Version

security Stories in Ready

Allow splitting a date field into constituent day, month and year parts.

Splitting dates into constituent parts is recommended by the GOV.UK service manual this gem is designed to allow a simple method of displaying the split date on a view, without having to manually de and re-compose the date in the controller.

This gem was inspired by TimeSplitter by shekibobo, in turn based on SplitDatetime by Michi Huber.

Installation

Add this line to your application's Gemfile:

gem 'split_dmy'

And then execute:

$ bundle

Or install it yourself as:

$ gem install split_dmy

Usage

After bundling, assuming you have a person model with a date_of_birth attribute, add this to your model:

class Person < ActiveRecord::Base
  extend SplitDmy::Accessors
  split_dmy_accessor :date_of_birth
end

In your view (if using slim):

= form_for(@person) do |f|
  = f.text_field :date_of_birth_day
  = f.text_field :date_of_birth_month
  = f.text_field :date_of_birth_year

In your controller, add the new variables to the strong parameter list

    params.require(:person).permit(:name, :date_of_birth_day, :date_of_birth_month, :date_of_birth_year)

Contributing

  1. Fork it ( https://github.com/ceebeeuk/split-date-dmy/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request