virtus

https://github.com/solnic/virtus

Ruby

Attributes on Steroids for Plain Old Ruby Objects

Virtus::ValueObject::ClassMethods#attribute

Define an attribute on the receiver

The Attribute will have private writer methods (eg., immutable instances)
  and be used in equality/equivalence comparisons

Source | Google | Stack overflow

Edit

git clone [email protected]:solnic/virtus.git

cd virtus

open lib/virtus/value_object.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Virtus--ValueObject--ClassMethods-attribute-for-pr


# Commit to git

git add lib/virtus/value_object.rbgit commit -m "better docs for Virtus::ValueObject::ClassMethods#attribute"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-Virtus--ValueObject--ClassMethods-attribute-for-pr

hub pull-request


# Celebrate!