No commit activity in last 3 years
No release in over 3 years
bool_attr_accessor is a gem for creating boolean style attributes.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Project Readme

attr_bool_accessor Gem Version Build Status Coverage Status

attr_bool_accessor is a gem for adding boolean style attributes to classes.

For example:

  class User
    battr_accessor :enabled
  end

  u = User.new
  u.enabled?

Installation

Just like any other gem. Just add

gem "attr_bool_accessor"

to your Gemfile or run

gem install attr_bool_accessor

Usage

For basic usage it can be used similarly to an attr_accessor

  class User
    battr_accessor :enabled
  end

Which provides some basic accessor methods:

  u = User.new
  u.enabled?         # => false
  u.enabled!         # set it to true
  u.enabled?         # => true
  u.enabled = false  # set it to a value
  u.enabled?         # => false

The query method attribute? always returns a true or false value.
The bang method (attribute!) sets the attribute to true.
The writer method (attribute=) allows you to set the attribute. Values will be converted to boolean.

You can provide multiple attribute names, use strings and use names that include a trailing question mark

  class User
    battr_accessor :first, :second, 'third', :fourth?
  end

You can also use attr_boolean as an alias for battr_accessor

  class User
    attr_boolean :enabled
  end
Options

The following options are accepted:

default: sets the default (initial) value for the attribute (false by default)

bang: Set to false to disable the bang (attribute!) method (true by default)

writer: Set to false to disable the writer (attribute=) method (by default the writer is enabled if the bang method is enabled)

reader: Set to true to disable the reader (attribute) method (this is enabled if the raw option is set)

raw: Enables raw mode. This makes a few changes.
Default and assigned values are stored internally in the value provided and not converted to boolean values
A reader method is added that allows you to read the raw value.
The query method will always return a boolean.

Examples
  class User
   battr_accessor :enabled, default: true, writer: false
  end

  class Account
   battr_accessor :state, default: 3, raw: true
  end

  a = Account.new
  a.state       # => 3
  a.state?      # => true
  a.state = nil
  a.state       # => nil
  a.state?      # => false

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/marcrohloff/attr_bool_accessor.

License

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

Author

Created by Yuri Smirnov.