# File lib/openshift-origin-common/models/user_model.rb, line 37
    def save(login)
      id_var = self.class.pk || "uuid"
      if persisted?
        if self.class.requires_update_attributes
          changed_attrs = {}
          unless changes.empty?
            changes.each do |key, value|
              value = value[1]
              unless self.class.excludes_attributes.include? key.to_sym
                extract_value(changed_attrs, key, value)
              end
            end
          end
          self.class.requires_update_attributes.each do |key|
            key = key.to_s
            value = instance_variable_get("@#{key}")
            extract_value(changed_attrs, key, value)
          end
          DataStore.instance.save(self.class.name, login, instance_variable_get("@#{id_var}"), changed_attrs) unless changed_attrs.empty?
        else
          DataStore.instance.save(self.class.name, login, instance_variable_get("@#{id_var}"), self.attributes(true))
        end
      else
        DataStore.instance.create(self.class.name, login, instance_variable_get("@#{id_var}"), self.attributes(true))
      end
      @previously_changed = changes
      @changed_attributes.clear
      @new_record = false
      @persisted = true
      @deleted = false
      self
    end