Module: Models::CrossLinkable

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

Has many collapse

Instance Method Summary collapse

Instance Method Details



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

def content_links_count
  outbound_content_links.size
end

Returns:

See Also:



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

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

#linked_content(link_type) ⇒ Object



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

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

#linked_postsObject



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

def linked_posts        = linked_content('related_post')

#linked_publicationsObject



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

def linked_publications = linked_content('related_publication')

#linked_showcasesObject



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

def linked_showcases    = linked_content('related_showcase')

#linked_videosObject



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

def linked_videos       = linked_content('related_video')

Returns:

See Also:



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

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