Class: Atrium::Description

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/atrium/description.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.get_description_from_solr_id(solr_id) ⇒ Object



47
48
49
50
51
52
53
54
55
56
# File 'app/models/atrium/description.rb', line 47

def self.get_description_from_solr_id(solr_id)
  atrium_description=Atrium::Description.find_by_description_solr_id(solr_id.to_s)

  if atrium_description
    atrium_showcase=Atrium::Showcase.find(atrium_description.atrium_showcase_id)
    return atrium_description , atrium_showcase
  else
    return []
  end
end

Instance Method Details

#as_solrObject



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'app/models/atrium/description.rb', line 62

def as_solr
  doc= {
    :active_fedora_model_s          => "Description",
    :page_display_s                 => (page_display unless page_display.blank?),
    :id                             => generate_solr_id,
    :format                         => "Description",
    :title_t                        => pretty_title,
    :title_s                        => pretty_title,
    :summary_t                      => (summary_text unless summary.blank?),
    :summary_s                      => (summary_text unless summary.blank?),
    :description_content_t          => (essay.content unless essay.blank?),
    :description_content_s          => (essay.content unless essay.blank?),
    :description_content_no_html_t  => (essay_text unless essay.blank?),
    :atrium_showcase_id_t           => get_atrium_showcase_id,
    :atrium_showcase_id_display     => get_atrium_showcase_id
  }.reject{|key, value| value.blank?}
  return doc
end

#blank?Boolean

Returns:

  • (Boolean)


124
125
126
# File 'app/models/atrium/description.rb', line 124

def blank?
  title.blank? && essay.blank?
end

#generate_solr_idObject



58
59
60
# File 'app/models/atrium/description.rb', line 58

def generate_solr_id
  "atrium_description_#{id}"
end

#get_essayObject



31
32
33
# File 'app/models/atrium/description.rb', line 31

def get_essay
  essay.blank? ? "" : essay.content
end

#get_summaryObject



19
20
21
# File 'app/models/atrium/description.rb', line 19

def get_summary
  essay.blank? ? "" : summary.content
end

#pretty_titleObject



116
117
118
# File 'app/models/atrium/description.rb', line 116

def pretty_title
  title.blank? ? "Description #{id}" : title
end

#show_on_this_page?Boolean

Returns:

  • (Boolean)


120
121
122
# File 'app/models/atrium/description.rb', line 120

def show_on_this_page?
  page_display.nil? || page_display == "newpage"
end

#to_solrObject



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

def to_solr
  Blacklight.solr.add as_solr
end

#update_solrObject



85
86
87
88
89
90
# File 'app/models/atrium/description.rb', line 85

def update_solr
  if (description_solr_id.blank?)
    to_solr
    Blacklight.solr.commit
  end
end