Skip to content

Instantly share code, notes, and snippets.

@daviddavis
Last active December 18, 2015 22:19
Show Gist options
  • Select an option

  • Save daviddavis/5853919 to your computer and use it in GitHub Desktop.

Select an option

Save daviddavis/5853919 to your computer and use it in GitHub Desktop.
Ruby gotcha
class User
DEFAULT_VALUES = {:name => "--",
:roles => [],
:username => "abc123"
}
ROLE = ["developer", "user", "designer", "admin"]
attr_accessor :name, :username, :roles
def initialize(values)
new_vals = DEFAULT_VALUES.merge(values)
self.name = new_vals[:name]
self.roles = new_vals[:roles]
self.username = new_vals[:username]
end
def add_role(role)
self.roles << role
end
end
ralph = User.new(name: "Ralph", username: "ralph1234")
bob = User.new(name: "Bob", username: "bob")
ralph.add_role("developer")
ralph.add_role("admin")
bob.add_role("user")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment