You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

70 lines
1.8 KiB

class Cdao::Document < Cdao::Base
self.table_name = "documents"
alias_attribute :docdate, :doc_date
alias_attribute :short_title, :title
def year
doc_date.present? ? doc_date.year : 0
end
def clean_reference_number
(reference_number.presence || "").gsub(/<!--\d+-->/, "")
end
def to_builder(ability = nil)
Jbuilder.new do |doc|
doc.(self, *%i[id title short_title])
doc.doc_date doc_date.presence || "0000-00-00"
doc.year year.presence || 0
doc.reference_number clean_reference_number
doc.display_reference_number clean_reference_number.presence || short_title.presence || title
doc.url Rails.application.routes.url_helpers.document_path(self)
end
end
def citation_finders_names
return [] unless doc_type.match?("Jurisprudence")
Cdao::Jurisprudence.find(doc_id).citation_finders_names
end
def phil_rep
return "" unless doc_type.match?("Jurisprudence")
Cdao::Jurisprudence.find(doc_id).phil_rep
end
def scra
return "" unless doc_type.match?("Jurisprudence")
Cdao::Jurisprudence.find(doc_id).scra
end
searchable do
text :reference_number, stored: true
text :title, stored: true
text :short_title, stored: true
string :reference_number
string :title do
(title.present? ? title.first(32760).strip : short_title || "").titleize
end
string :short_title do
(short_title.presence || title || "").first(32760).strip.titleize
end
date :doc_date
date :search_doc_date do
doc_date.presence || Date.new(year.presence || 0)
end
integer :id
integer :year
integer :search_year do
year.present? && year > 0 ? year : (doc_date.try :year)
end
string :citation_finders_names, multiple: true
end
end