Module: AttrInitializable::ClassMethods

Defined in:
lib/attr_initializable.rb

Instance Method Summary collapse

Instance Method Details

#attr_initializable(attributes, options = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# 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_attributesObject



16
17
18
# File 'lib/attr_initializable.rb', line 16

def initializable_attributes
  @@initializable_attributes ||= {}
end