Class: EditorialMember
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- EditorialMember
- Includes:
- FlatPriority, HasOwner, Toggleable
- Defined in:
- app/models/editorial_member.rb
Overview
Editorial member
Attributes:
about [Text], optional
created_at [DateTime]
user_id [User]
visible [Boolean]
priority [Integer]
updated_at [DateTime]
title [String], optional
lead [String], optional
Constant Summary collapse
- LEAD_LIMIT =
170
- TITLE_LIMIT =
150
Class Method Summary collapse
Instance Method Summary collapse
- #add_post_type(post_type) ⇒ Object
-
#editable_by?(user) ⇒ Boolean
deprecated
Deprecated.
use component handler
- #name ⇒ Object
- #post_count ⇒ Object
- #post_type?(post_type) ⇒ Boolean
- #profile_name ⇒ Object
- #remove_post_type(post_type) ⇒ Object
- #screen_name ⇒ Object
- #slug ⇒ Object
Class Method Details
.[](user) ⇒ Object
54 55 56 57 58 59 |
# File 'app/models/editorial_member.rb', line 54 def self.[](user) criteria = { user: user.is_a?(User) ? user : User.find_by(slug: user) } find_by(criteria) end |
.creation_parameters ⇒ Object
44 45 46 |
# File 'app/models/editorial_member.rb', line 44 def self.creation_parameters entity_parameters + %i[user_id] end |
.entity_parameters ⇒ Object
40 41 42 |
# File 'app/models/editorial_member.rb', line 40 def self.entity_parameters %i[about lead title visible] end |
.user?(user) ⇒ Boolean
49 50 51 |
# File 'app/models/editorial_member.rb', line 49 def self.user?(user) user.is_a?(self) || owned_by(user).visible.exists? end |
Instance Method Details
#add_post_type(post_type) ⇒ Object
93 94 95 |
# File 'app/models/editorial_member.rb', line 93 def add_post_type(post_type) editorial_member_post_types.create(post_type: post_type) end |
#editable_by?(user) ⇒ Boolean
Deprecated.
use component handler
83 84 85 |
# File 'app/models/editorial_member.rb', line 83 def editable_by?(user) Biovision::Components::BaseComponent.handler('posts', user).editable?(self) end |
#name ⇒ Object
61 62 63 |
# File 'app/models/editorial_member.rb', line 61 def name user.profile_name end |
#post_count ⇒ Object
77 78 79 |
# File 'app/models/editorial_member.rb', line 77 def post_count Post.owned_by(user).count end |
#post_type?(post_type) ⇒ Boolean
88 89 90 |
# File 'app/models/editorial_member.rb', line 88 def post_type?(post_type) editorial_member_post_types.where(post_type: post_type).exists? end |
#profile_name ⇒ Object
65 66 67 |
# File 'app/models/editorial_member.rb', line 65 def profile_name user.profile_name end |
#remove_post_type(post_type) ⇒ Object
98 99 100 |
# File 'app/models/editorial_member.rb', line 98 def remove_post_type(post_type) editorial_member_post_types.where(post_type: post_type).delete_all end |
#screen_name ⇒ Object
69 70 71 |
# File 'app/models/editorial_member.rb', line 69 def screen_name user.screen_name end |
#slug ⇒ Object
73 74 75 |
# File 'app/models/editorial_member.rb', line 73 def slug user.slug end |