Class: Token
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- Token
- Includes:
- Checkable, HasOwner, HasTrack, Toggleable
- Defined in:
- app/models/token.rb
Overview
Constant Summary collapse
- TOKEN_LIMIT =
255
Class Method Summary collapse
- .[](input) ⇒ Object
- .creation_parameters ⇒ Object
- .entity_parameters ⇒ Object
- .page_for_administration(page = 1, filter = {}) ⇒ Object
- .page_for_owner(user, page = 1) ⇒ Object
- .user_by_pair(user_id, token, touch_user = false) ⇒ Object
- .user_by_token(input, touch_user = false) ⇒ Object
Instance Method Summary collapse
Methods included from HasOwner
Class Method Details
.[](input) ⇒ Object
57 58 59 |
# File 'app/models/token.rb', line 57 def self.[](input) find_by(token: input.to_s.split(':')[1].to_s) end |
.creation_parameters ⇒ Object
52 53 54 |
# File 'app/models/token.rb', line 52 def self.creation_parameters entity_parameters + %i[user_id] end |
.entity_parameters ⇒ Object
48 49 50 |
# File 'app/models/token.rb', line 48 def self.entity_parameters %i[active] end |
.page_for_administration(page = 1, filter = {}) ⇒ Object
38 39 40 |
# File 'app/models/token.rb', line 38 def self.page_for_administration(page = 1, filter = {}) filtered(filter).list_for_administration.page(page) end |
.page_for_owner(user, page = 1) ⇒ Object
44 45 46 |
# File 'app/models/token.rb', line 44 def self.page_for_owner(user, page = 1) list_for_owner(user).page(page) end |
.user_by_pair(user_id, token, touch_user = false) ⇒ Object
73 74 75 76 77 78 79 80 |
# File 'app/models/token.rb', line 73 def self.user_by_pair(user_id, token, touch_user = false) instance = find_by(user_id: user_id, token: token, active: true) return if instance.nil? instance.update_columns(last_used: Time.now) instance.user.update_columns(last_seen: Time.now) if touch_user instance.user end |
.user_by_token(input, touch_user = false) ⇒ Object
63 64 65 66 67 68 |
# File 'app/models/token.rb', line 63 def self.user_by_token(input, touch_user = false) return if input.blank? pair = input.split(':') user_by_pair(pair[0].to_i, pair[1], touch_user) end |
Instance Method Details
#cookie_pair ⇒ Object
97 98 99 |
# File 'app/models/token.rb', line 97 def "#{user_id}:#{token}" end |
#editable_by?(user) ⇒ Boolean
91 92 93 94 95 |
# File 'app/models/token.rb', line 91 def editable_by?(user) return true if owned_by?(user) Biovision::Components::UsersComponent[user].permit?('edit', self) end |
#name ⇒ Object
82 83 84 |
# File 'app/models/token.rb', line 82 def name "[#{id}] #{user.profile_name}" end |
#text_for_link ⇒ Object
86 87 88 |
# File 'app/models/token.rb', line 86 def text_for_link name end |