class PaginationComponent < BaseComponent attr_reader :data, :opts def initialize(data:, opts: {}) @data = data @opts = opts end def subjects return [] if opts[:subject_ids].blank? Cdao::Subject.where(id: opts[:subject_ids].map(&:to_i)) end def custom_url(id) return search_doctrines_path(is_index_table: true, subject_ids: [id]) if opts[:is_index_table].present? && opts[:is_index_table].to_s.eql?("true") return search_doctrines_path( is_index_table: false, subject_ids: [id]) if opts[:is_index_table].present? && opts[:is_index_table].to_s.eql?("false") search_doctrines_path(id) end end