Module: BasicModel
- Extended by:
- ActiveSupport::Concern
- Includes:
- ActiveModel::Conversion, ActiveModel::Validations
- Defined in:
- lib/basic_model.rb
Instance Method Summary collapse
-
#initialize(attributes = nil, options = {}) {|_self| ... } ⇒ Object
Creates and optionally sets the attributes of the model with keys matching the attribute names.
-
#persisted? ⇒ Boolean
By default, BasicModels are not persisted in any way.
Instance Method Details
#initialize(attributes = nil, options = {}) {|_self| ... } ⇒ Object
Creates and optionally sets the attributes of the model with keys matching the attribute names. If ActiveModel::MassSecurityAssignment is included, attributes will be sanitized with the role given in the :as option. To bypass mass-assignment security you can use the :without_protection => true option.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/basic_model.rb', line 13 def initialize(attributes = nil, = {}) unless attributes.nil? # Sanitize the attributes if we're using ActiveModel::MassSecurityAssignment # Also account for the different APIs between 3.0 and 3.1 if respond_to? :sanitize_for_mass_assignment if method(:sanitize_for_mass_assignment).arity == 2 attributes = sanitize_for_mass_assignment attributes, [:as] else attributes = sanitize_for_mass_assignment attributes end end # Now set the attributes, ignoring any private methods attributes.each do |name, value| send "#{name}=", value if respond_to? "#{name}=" end end yield self if block_given? end |
#persisted? ⇒ Boolean
By default, BasicModels are not persisted in any way.
35 36 37 |
# File 'lib/basic_model.rb', line 35 def persisted? false end |