class Mongoid::Scribe::Builders::Relation

Public Class Methods

new(document, relation) click to toggle source
# File lib/mongoid/scribe/builders/relation.rb, line 9
def initialize(document, relation)
  @document = document
  @relation = relation
end

Public Instance Methods

listing() click to toggle source
# File lib/mongoid/scribe/builders/relation.rb, line 14
def listing
  output = content_tag(:h4, @relation)
  Array(@document.send(@relation)).sort_by(&:created_at).each do |record|
    link = link_to(relation_label(record), Mongoid::Scribe::Engine.routes.url_helpers.document_path(model_param(record.class.name), record.send(:id)))
    output += content_tag(:p, link)
  end
  return output.html_safe
end

Private Instance Methods

model_param(model) click to toggle source
# File lib/mongoid/scribe/builders/relation.rb, line 33
def model_param(model)
  model.to_s.underscore.downcase
end
relation_label(relation) click to toggle source
# File lib/mongoid/scribe/builders/relation.rb, line 25
def relation_label(relation)
  if relation.respond_to?(:slug)
    return relation.slug
  else
    return relation.id
  end
end