No commit activity in last 3 years
No release in over 3 years
ActiveRecord plugin that maintains massive flags in one column
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

ActsAsBits Build Status

ActiveRecord plugin that maintains massive flags in one column

Table Definition

Add "string" column into your model table.

ALTER TABLE users ADD operations varchar(255);

Model Definition

class User < ActiveRecord::Base
  acts_as_bits :operations, %w( create read update delete )
end

Usage

user = User.new
user.create?        # => false
user.create = true
user.delete = true
user.operations     # => "1001"
user.create?        # => true

User.create!(:update => true, :read=>false)

Advanced

"(column_name)=" enables to fill up values with argument that is true/false. This is useful for initial setting like all allow/deny.

user = User.new
user.operations     # => "0000"

# set all green
user.operations = true
user.operations     # => "1111"

# set all red
user.operations = false
user.operations     # => "0000"

Environment

tested on

  • Rails 3.0.0 later

Author

moriq and maiha