Sha256: bd5526f1bf0742d156b689ff5f14485f5b3b1ba60af9f1d99364551c3a690ca7
Contents?: true
Size: 953 Bytes
Versions: 4
Compression:
Stored size: 953 Bytes
Contents
module HasCredentialModelHelper %w(email_address password password_hash login_enabled).each do |accessor| define_method accessor.to_sym do credential.send accessor.to_sym if credential end setter_method = "#{accessor}=".to_sym define_method setter_method do |val| build_credential unless credential credential.send setter_method, val end end def credential_after_save credential.save! if credential.changed? end def validate_credential_fields credential.errors.each{|attr,msg| errors.add attr, msg } unless credential.valid? validate_without_credentials end def self.append_features(base) super base.class_eval do has_one :credential, :as => :user, :dependent => :destroy after_save :credential_after_save alias validate_without_credentials validate alias validate validate_credential_fields end end end
Version data entries
4 entries across 4 versions & 1 rubygems