# events[].parameters[].value
  [1m[36mSpree::LegacyUser Create (0.3ms)[0m  [1m[32mINSERT INTO "spree_users" ("created_at", " (...125 more characters)

# events[].sql_query.sql
INSERT INTO "spree_users" ("created_at", "updated_at") VALUES (?, ?)

# events[].sql_query.normalized_sql
INSERT INTO "spree_users" ("created_at", "updated_at") VALUES (?, ?)

# events[].parameters[].value
  [1m[36mSpree::Role Load (0.1ms)[0m  [1m[34mSELECT "spree_roles".* FROM "spree_roles" INNER JO (...139 more characters)

# events[].sql_query.sql
SELECT "spree_roles".* FROM "spree_roles" INNER JOIN "spree_roles_users" ON "spree_roles"."id" = "spree_roles_users"."role_id" WHERE "spree_roles_users"."user_id" = ?

# events[].sql_query.normalized_sql
SELECT "spree_roles".* FROM "spree_roles" INNER JOIN "spree_roles_users" ON "spree_roles"."id" = "spree_roles_users"."role_id" WHERE "spree_roles_users"."user_id" = ?

# events[].parameters[].value
  [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_2[0m

# classMap[].children[].children[].children[].children[].comment
# Determines if one of the attributes passed in is the inheritance column,
# and if the inheritance column is attr accessible, it initializes an
# instance of the given subclass instead of the base class.

# classMap[].children[].children[].children[].comment
##
# :call-seq:
#   save!(*args)
#
# Saves the model.
#
# If the model is new, a record gets created in the database, otherwise
# the existing record gets updated.
#
# By default, #save! always runs validations. If any of them fail
# ActiveRecord::RecordInvalid gets raised, and the record won't be saved. However, if you supply
# <tt>validate: false</tt>, validations are bypassed altogether. See
# ActiveRecord::Validations for more information.
#
# By default, #save! also sets the +updated_at+/+updated_on+ attributes to
# the current time. However, if you supply <tt>touch: false</tt>, these
# timestamps will not be updated.
#
# There's a series of callbacks associated with #save!. If any of
# the <tt>before_*</tt> callbacks throws +:abort+ the action is cancelled
# and #save! raises ActiveRecord::RecordNotSaved. See
# ActiveRecord::Callbacks for further details.
#
# Attributes marked as readonly are silently ignored if the record is
# being updated.
#
# Unless an error is raised, returns true.

# classMap[].children[].children[].children[].comment
# Returns true if this object hasn't been saved yet -- that is, a record
# for the object doesn't exist in the database yet; otherwise, returns false.

# classMap[].children[].children[].children[].comment
# Returns +true+ if the record is read only. Records loaded through joins with piggy-back
# attributes will be marked as read only since they cannot be saved.

# classMap[].children[].children[].children[].children[].comment
# Returns an array of the names of any attributes that will change when
# the record is next saved.

# classMap[].children[].children[].children[].comment
# Returns the association instance for the given name, instantiating it if it doesn't already exist

# classMap[].children[].children[].children[].comment
# cache_key will be nil for new objects, then if we check if there
# is a pending preference before going to default

# classMap[].children[].children[].children[].comment
# cache_key will be nil for new objects, then if we check if there
# is a pending preference before going to default

# metadata.name
Spree::LegacyUser auto-api-key grant after user create generate_api_key_for_all_roles does not grant api key default