Class: DcPart

Inherits:
Object
  • Object
show all
Includes:
DcPieceConcern
Defined in:
app/models/dc_part.rb

Overview

Schema information

Collection name: dc_part : Parts of page

_id                  BSON::ObjectId       _id
created_at           Time                 created_at
updated_at           Time                 Last updated at
name                 String               Parts can be searched by name or by id
description          String               Short description of part
picture              String               Picture contents of part
thumbnail            String               Small version of picture if available
body                 String               Content of this part
css                  String               CSS
script               String               Script, if script is included in part
script_type          String               Script type
params               String               params
piece_id             BSON::ObjectId       Piece name if part is connected to piece
div_id               String               Div id (position name) where this part is displayed as defined on design
site_id              BSON::ObjectId       site_id
order                Integer              Order between parts
active               Mongoid::Boolean     Part is active
valid_from           DateTime             Part is valid from
valid_to             DateTime             Part is valid to
created_by           BSON::ObjectId       created_by
updated_by           BSON::ObjectId       Last updated by
_type                String               _type
policy_id            BSON::ObjectId       Access policy for the part
link                 String               Link when part can be accessed with pretty link

DcPart model is used for embedding parts of final document into other models. It declares fields which may be used in various scenarios. For example:

  • part of page which is visible to all users and part only to registered users

  • list of pictures or attachments which belong to document

-

DcPart model inherits its definition from DcPiece model, but adds policy_id field to definition. Policy_id field may be used where site policy must be taken into account when rendering part.

Instance Method Summary collapse

Instance Method Details

#cache_clearObject

Clear parent’s record from cache if cache is configured



81
82
83
# File 'app/models/dc_part.rb', line 81

def cache_clear
  _parent.cache_clear() if _parent&.respond_to?(:cache_clear)
end

#do_before_saveObject

Implementation of before_save callback.



88
89
90
91
92
# File 'app/models/dc_part.rb', line 88

def do_before_save
  if self.link.blank?
    self.link = self.name.strip.downcase.gsub(' ','-')
  end
end