module AttrInitializable::ClassMethods

Public Instance Methods

attr_initializable(attributes, options = {}) click to toggle source
# File lib/attr_initializable.rb, line 5
def attr_initializable(attributes, options = {})
  unless respond_to?(:protected_attributes)
    raise RuntimeError.new('`attr_initializable` relies on `attr_accessible`. ' \
       'Please add `protected_attributes` to your Gemfile to use `attr_initializable`.')
  end

  role = options.delete(:as) || :default
  initializable_attributes[role] ||= []
  initializable_attributes[role] += Array(attributes)
end
initializable_attributes() click to toggle source
# File lib/attr_initializable.rb, line 16
def initializable_attributes
  @@initializable_attributes ||= {}
end