Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

date_checkbox

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

date_checkbox

  • 0.0.1
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

= DateCheckbox

This is a rails-plugin which can create a checkbox for attributes which are datetime-fields in the database. So, if you want to store the date when a user appected some terms or received some goods, but want to circumvent the need of selecting the proper date and time from 6 dropdowns, you can just use this plugin.

It creates some wrapper-methods on the model for the attributes you specify and provides a form-helper which uses these. The model-methods also work with standard checkbox-tags.

Personally, I do not want to go through the hassle of selecting the proper date and time from 6 dropdowns. I just want to check a checkbox and have my app to the rest. In many cases, this is even required security- or permission-wise.

While this functionality is fairly easy to implement for one datetime-field (like terms_accepted_at), I don't like to repeat this code.

Therefore, I put this rails-plugin together.

A neat side-effect is, that I went and created a form-helper and added some useful model methods along the way.

== Installation

Just add

gem 'date_checkbox'

to your Gemfile. If your not using Bundler and Rails3 by now, we can still be friends, but thats about it.

== Example

app/models/user.rb

class User < ActiveRecord::Base has_date_checkbox :terms_accepted_at end

This adds the following three methods to the user-model:

  • terms_accepted # returns "0" or "1"
  • terms_accepted= # "1" sets to the current Time, otherwise sets to nil
  • terms_accepted? # true or false

You can use it the form-helper like this:

app/views/users/_form.html.erb

<%= form_for @user do |f| %>

<%= f.date_checkbox :terms_accepted_at %>

<% end -%>

The date_checkbox appends the date form the database if its selected. If you do not want that, simply use

f.checkbox :terms_accepted

This is what f.date_checkbox uses anyway.

== Notes

Currently, I hook into ActionPack/ActionView directly, which is dirty by saves you from declaring a different FormBuilder for every form. I also refrained from changing the default-form builder for you because I don't want to conflict with other form-extensions you might want to use.

If everything goes south, you can still use the model-methods. This is not (by any means) über-rocket-science. It's just convenient.

Your turn.

== Development

Cpt. Obvious told me the following:

This is open-sourced on github. You can contribute by sending pull-requests or just opening issues.

He is obviously right and you also knew that. Any feedback is appreciated.

Copyright (c) 2011 Matthias Viehweger, released under the MIT license

FAQs

Package last updated on 14 Jun 2011

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc