codeRIT/hackathon_manager

View on GitHub
app/datatables/bulk_message_datatable.rb

Summary

Maintainability
A
35 mins
Test Coverage
class BulkMessageDatatable < ApplicationDatatable
def_delegators :@view, :link_to, :manage_message_path, :display_datetime, :bold, :h
 
def view_columns
@view_columns ||= {
id: { source: "Message.id" },
name: { source: "Message.name" },
subject: { source: "Message.subject" },
created_at: { source: "Message.created_at", searchable: false },
updated_at: { source: "Message.updated_at", searchable: false },
delivered_at: { source: "Message.delivered_at", searchable: false },
}
end
 
private
 
Method `data` has a Cognitive Complexity of 9 (exceeds 7 allowed). Consider refactoring.
def data
records.map do |record|
{
id: record.id,
name: link_to(bold(record.name), manage_message_path(record)),
subject: record.subject,
status: record.status == "drafted" ? "<span style=\"color: red;\">#{h(record.status.titleize)}</span>".html_safe : record.status.titleize,
created_at: display_datetime(record.created_at),
updated_at: record.updated_at.present? ? display_datetime(record.updated_at) : "",
delivered_at: record.delivered_at.present? ? display_datetime(record.delivered_at) : "",
}
end
end
 
def get_raw_records
Message.where(type: "bulk")
end
end