Module: Models::CrossLinkable

Extended by:
ActiveSupport::Concern
Included in:
Article, Item, Showcase, Video
Defined in:
app/concerns/models/cross_linkable.rb

Overview

ActiveSupport::Concern mixin: cross linkable.

Has many collapse

Instance Method Summary collapse

Instance Method Details



21
22
23
# File 'app/concerns/models/cross_linkable.rb', line 21

def content_links_count
  outbound_content_links.size
end

Returns:

See Also:



9
# File 'app/concerns/models/cross_linkable.rb', line 9

has_many :inbound_content_links,  as: :target, class_name: 'ContentLink', dependent: :destroy

#linked_content(link_type) ⇒ Object



12
13
14
# File 'app/concerns/models/cross_linkable.rb', line 12

def linked_content(link_type)
  outbound_content_links.of_type(link_type).ordered.includes(:target).map(&:target)
end

#linked_postsObject



16
# File 'app/concerns/models/cross_linkable.rb', line 16

def linked_posts        = linked_content('related_post')

#linked_publicationsObject



19
# File 'app/concerns/models/cross_linkable.rb', line 19

def linked_publications = linked_content('related_publication')

#linked_showcasesObject



18
# File 'app/concerns/models/cross_linkable.rb', line 18

def linked_showcases    = linked_content('related_showcase')

#linked_videosObject



17
# File 'app/concerns/models/cross_linkable.rb', line 17

def linked_videos       = linked_content('related_video')

Returns:

See Also:



8
# File 'app/concerns/models/cross_linkable.rb', line 8

has_many :outbound_content_links, as: :source, class_name: 'ContentLink', dependent: :destroy