Class: Parse::Session
- Defined in:
- lib/parse/model/classes/session.rb,
lib/parse/stack/generators/templates/model_session.rb
Overview
This class represents the data and columns contained in the standard Parse `_Session` collection. The Session class maintains per-device (or website) authentication information for a particular user. Whenever a User object is logged in, a new Session record, with a session token is generated. You may use a known active session token to find the corresponding user for that session. Deleting a Session record (and session token), effectively logs out the user, when making Parse requests on behalf of the user using the session token.
The default schema for the Session class is as follows:
class Parse::Session < Parse::Object
# See Parse::Object for inherited properties...
property :session_token
property :created_with, :object
property :expires_at, :date
property :installation_id
property :restricted, :boolean
belongs_to :user
# Installation where the installation_id matches.
has_one :installation, ->{ where(installation_id: i.installation_id) }, scope_only: true
end
Constant Summary
Constants included from Properties
Properties::BASE, Properties::BASE_FIELD_MAP, Properties::BASE_KEYS, Properties::CORE_FIELDS, Properties::DELETE_OP, Properties::TYPES
Constants inherited from Pointer
Constants inherited from Model
Model::CLASS_INSTALLATION, Model::CLASS_PRODUCT, Model::CLASS_ROLE, Model::CLASS_SESSION, Model::CLASS_USER, Model::ID, Model::KEY_CLASS_NAME, Model::KEY_CREATED_AT, Model::KEY_OBJECT_ID, Model::KEY_UPDATED_AT, Model::OBJECT_ID, Model::TYPE_ACL, Model::TYPE_BYTES, Model::TYPE_DATE, Model::TYPE_FIELD, Model::TYPE_FILE, Model::TYPE_GEOPOINT, Model::TYPE_NUMBER, Model::TYPE_OBJECT, Model::TYPE_POINTER, Model::TYPE_RELATION
Instance Attribute Summary collapse
- #created_with ⇒ Hash
Data on how this Session was created.
- #expires_at ⇒ Parse::Date
When the session token expires.
- #installation ⇒ Parse::Installation readonly
Returns the Installation where the sessions installation_id field matches the installation_id field in the Installation collection.
- #installation_id ⇒ String
The installation id from the Installation table.
- #restricted ⇒ Boolean readonly
Whether this session token is restricted.
- #session_token ⇒ String readonly
The session token for this installation and user pair.
- #user ⇒ User readonly
This property is mapped as a `belongs_to` association with the User class.
Attributes inherited from Object
#acl, #created_at, #id, #updated_at
Attributes inherited from Pointer
Class Method Summary collapse
- .session(token, **opts) ⇒ Session
Return the Session record for this session token.
Methods inherited from Object
#[], #[]=, #__type, #after_create, #after_destroy, #after_save, #apply_defaults!, #as_json, #before_create, #before_destroy, #before_save, build, #clear_attribute_change!, #clear_changes!, #existed?, #initialize, #new?, #parse_class, #persisted?, pointer, #pretty, #reload!, #rollback!, #schema, set_default_acl, #twin, #updates, #validate!, webhook, webhook_function
Methods included from Core::Querying
#all, #count, #distinct, #each, #find, #first, #literal_where, #newest, #oldest, #query, #scope
Methods included from Core::Schema
#auto_upgrade!, #create_schema, #fetch_schema, #schema, #update_schema
Methods included from Core::Actions
#change_requests, #changes_applied!, #changes_payload, #create, #destroy, #destroy_request, #op_add!, #op_add_relation!, #op_add_unique!, #op_destroy!, #op_increment!, #op_remove!, #op_remove_relation!, #operate_field!, #prepare_save!, #relation_change_operations, #save, #save!, #set_attributes!, #update, #update!, #update_relations, #uri_path
Methods included from Core::Fetching
Methods included from Associations::HasMany
has_many, #relation_changes?, #relation_updates, #relations
Methods included from Associations::BelongsTo
Methods included from Associations::HasOne
Methods included from Properties
#apply_attributes!, #attribute_changes?, #attribute_updates, #attributes, #attributes=, #field_map, #fields, #format_operation, #format_value
Methods inherited from Pointer
#==, #[], #[]=, #__type, #attributes, #className, #fetch, #fetched?, #hash, #initialize, #json_hash, #pointer, #pointer?, #present?, #sig
Methods inherited from Model
Methods included from Client::Connectable
Constructor Details
This class inherits a constructor from Parse::Object
Instance Attribute Details
#created_with ⇒ Hash
Returns data on how this Session was created.
35 | # File 'lib/parse/model/classes/session.rb', line 35 property :created_with, :object |
#expires_at ⇒ Parse::Date
Returns when the session token expires.
39 | # File 'lib/parse/model/classes/session.rb', line 39 property :expires_at, :date |
#installation ⇒ Parse::Installation (readonly)
Returns the Installation where the sessions installation_id field matches the installation_id field in the Installation collection. This is implemented as a has_one scope.
65 | # File 'lib/parse/model/classes/session.rb', line 65 has_one :installation, -> { where(installation_id: i.installation_id) }, scope_only: true |
#installation_id ⇒ String
Returns The installation id from the Installation table.
44 | # File 'lib/parse/model/classes/session.rb', line 44 property :installation_id |
#restricted ⇒ Boolean (readonly)
Returns whether this session token is restricted.
48 | # File 'lib/parse/model/classes/session.rb', line 48 property :restricted, :boolean |
#session_token ⇒ String (readonly)
Returns the session token for this installation and user pair.
52 | # File 'lib/parse/model/classes/session.rb', line 52 property :session_token |
Class Method Details
.session(token, **opts) ⇒ Session
Return the Session record for this session token.
70 71 72 73 74 75 76 | # File 'lib/parse/model/classes/session.rb', line 70 def self.session(token, **opts) response = client.fetch_session(token, opts) if response.success? return Parse::Session.build response.result end nil end |