Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kitlangton/attr_asker
https://github.com/kitlangton/attr_asker
Last synced: 6 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/kitlangton/attr_asker
- Owner: kitlangton
- License: mit
- Created: 2016-01-12T04:49:34.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-01-12T04:51:46.000Z (almost 9 years ago)
- Last Synced: 2024-12-03T07:38:48.525Z (24 days ago)
- Language: Ruby
- Size: 4.88 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# AttrAsker
Monkey patches the `attr_asker` method onto Ruby's Class class.
The 'attr_asker' method functions just like attr_reader, only it generates interrogative methods which return the boolean value of the supplied instance variables.
```ruby
class Exampleattr_asker :alive
def initialize
@alive = true
endend
example = Example.new
example.alive? # => true
```## Installation
Add this line to your application's Gemfile:
```ruby
gem 'attr_asker'
```And then execute:
$ bundle
Or install it yourself as:
$ gem install attr_asker
## Usage
Just require `attr_asker` and then call in in the class definition just as you would `attr_reader` or `attr_writer`.
```ruby
require 'attr_asker'class Example
attr_asker :on, :off, :truthy, :falsy
def initialize
@on = true
@off = false
@truthy = 1
@falsy = nil
endend
example.on? # => true
example.off? # => false
example.truthy? # => true
example.falsy? # => false```
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/kitlangton/attr_asker. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).