emory-libraries/dlp-lux

View on GitHub

Showing 22 of 22 total issues

Method initialize has 114 lines of code (exceeds 25 allowed). Consider refactoring.
Open

def initialize
super
 
settings do
# type may be 'binary', 'xml', or 'json'
Severity: Major
Found in app/models/marc_indexer.rb - About 4 hrs to fix

    File catalog_controller.rb has 324 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    class CatalogController < ApplicationController
    include BlacklightRangeLimit::ControllerOverride
    include BlacklightAdvancedSearch::Controller
    include Blacklight::Catalog
    include Blacklight::AccessControls::Catalog
    Severity: Minor
    Found in app/controllers/catalog_controller.rb - About 3 hrs to fix

      Method initialize has a Cognitive Complexity of 26 (exceeds 5 allowed). Consider refactoring.
      Open

      def initialize
      super
       
      settings do
      # type may be 'binary', 'xml', or 'json'
      Severity: Minor
      Found in app/models/marc_indexer.rb - About 3 hrs to fix

      Class SolrDocument has 22 methods (exceeds 20 allowed). Consider refactoring.
      Open

      class SolrDocument
      include Blacklight::Solr::Document
      # The following shows how to setup this blacklight document to display marc documents
      extension_parameters[:marc_source_field] = :marc_ss
      extension_parameters[:marc_format_type] = :marcxml
      Severity: Minor
      Found in app/models/solr_document.rb - About 2 hrs to fix

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        to_field('url_fulltext_ssm') do |rec, acc|
        rec.fields('856').each do |f|
        case f.indicator2
        when '0'
        f.find_all { |sf| sf.code == 'u' }.each do |url|
        Severity: Major
        Found in app/models/marc_indexer.rb and 1 other location - About 1 hr to fix
        app/models/marc_indexer.rb on lines 144..156

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        to_field 'url_suppl_ssm' do |rec, acc|
        rec.fields('856').each do |f|
        case f.indicator2
        when '2'
        f.find_all { |sf| sf.code == 'u' }.each do |url|
        Severity: Major
        Found in app/models/marc_indexer.rb and 1 other location - About 1 hr to fix
        app/models/marc_indexer.rb on lines 125..137

        Method from_omniauth has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
        Open

        def self.from_omniauth(auth) # rubocop:disable Metrics/AbcSize
        Rails.logger.debug "auth = #{auth.inspect}"
        raise User::NilShibbolethUserError.new("No uid", auth) if auth.uid.empty? || auth.info.uid.empty?
        user = User.find_or_initialize_by(provider: auth.provider, uid: auth.info.uid)
        user.assign_attributes(display_name: auth.info.display_name)
        Severity: Minor
        Found in app/models/user.rb - About 35 mins to fix

        Method thumbnail_image_url has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
        Open

        def thumbnail_image_url
        visibility = document["visibility_ssi"]
        case visibility
        when "open", "low_res"
        lux_thumbnail_url
        Severity: Minor
        Found in app/presenters/blacklight/thumbnail_presenter.rb - About 35 mins to fix

        Method uv_config has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
        Open

        def uv_config
        v = visibility_lookup(resource_id_param)
        config = if v == "open"
        uv_config_liberal
        elsif v == "authenticated" && user_signed_in?
        Severity: Minor
        Found in app/controllers/application_controller.rb - About 25 mins to fix

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        def chicago_default_citation
        [
        formatted_chicago_author, append_string_with_comma(obj[:title_tesim]),
        append_string_with_comma(obj[:date_issued_tesim] || obj[:human_readable_date_created_tesim]),
        append_string_with_comma(obj[:member_of_collections_ssim]),
        Severity: Minor
        Found in lib/emory/citation_string_processor.rb and 1 other location - About 25 mins to fix
        lib/emory/citation_string_processor.rb on lines 70..79

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        config.add_search_field('all_fields_advanced', label: 'All Fields') do |field|
        field.include_in_simple_select = false
        # solr_parameters hash are sent to Solr as ordinary url query params.
        field.solr_parameters = {
        qf: (id_fields + title_fields + creator_fields + subject_fields + misc_fields).join(' '),
        Severity: Minor
        Found in app/controllers/catalog_controller.rb and 1 other location - About 25 mins to fix
        app/controllers/catalog_controller.rb on lines 355..361

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        def discover_groups(id)
        doc = permissions_doc(id)
        return [] if doc.nil?
        dg = read_groups(id) | (doc[self.class.discover_group_field] || [])
        Rails.logger.debug("[CANCAN] discover_groups: #{dg.inspect}")
        Severity: Minor
        Found in lib/blacklight/access_controls/ability.rb and 1 other location - About 25 mins to fix
        lib/blacklight/access_controls/ability.rb on lines 140..145

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        config.add_search_field('all_fields', label: 'All Fields') do |field|
        field.include_in_advanced_search = false
        # solr_parameters hash are sent to Solr as ordinary url query params.
        field.solr_parameters = {
        qf: (id_fields + title_fields + creator_fields + subject_fields + misc_fields).join(' '),
        Severity: Minor
        Found in app/controllers/catalog_controller.rb and 1 other location - About 25 mins to fix
        app/controllers/catalog_controller.rb on lines 321..327

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        def mla_default_citation
        [
        formatted_mla_author,
        append_string_with_period(obj[:title_tesim]),
        append_string_with_period(obj[:date_issued_tesim] || obj[:human_readable_date_created_tesim]),
        Severity: Minor
        Found in lib/emory/citation_string_processor.rb and 1 other location - About 25 mins to fix
        lib/emory/citation_string_processor.rb on lines 61..67

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        def discover_users(id)
        doc = permissions_doc(id)
        return [] if doc.nil?
        dp = read_users(id) | (doc[self.class.discover_user_field] || [])
        Rails.logger.debug("[CANCAN] discover_users: #{dp.inspect}")
        Severity: Minor
        Found in lib/blacklight/access_controls/ability.rb and 1 other location - About 25 mins to fix
        lib/blacklight/access_controls/ability.rb on lines 131..136

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        def read_groups(id)
        doc = permissions_doc(id)
        return [] if doc.nil?
        rg = download_groups(id) | Array(doc[self.class.read_group_field])
        Rails.logger.debug("[CANCAN] read_groups: #{rg.inspect}")
        Severity: Minor
        Found in lib/blacklight/access_controls/ability.rb and 1 other location - About 20 mins to fix
        lib/blacklight/access_controls/ability.rb on lines 158..163

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        def read_users(id)
        doc = permissions_doc(id)
        return [] if doc.nil?
        rp = download_users(id) | Array(doc[self.class.read_user_field])
        Rails.logger.debug("[CANCAN] read_users: #{rp.inspect}")
        Severity: Minor
        Found in lib/blacklight/access_controls/ability.rb and 1 other location - About 20 mins to fix
        lib/blacklight/access_controls/ability.rb on lines 149..154

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

        def test_discover(id)
        Rails.logger.debug("[CANCAN] Checking discover permissions for user: #{current_user.user_key} with groups: #{user_groups.inspect}")
        group_intersection = user_groups & discover_groups(id)
        !group_intersection.empty? || discover_users(id).include?(current_user.user_key)
        end
        Severity: Minor
        Found in lib/blacklight/access_controls/ability.rb and 2 other locations - About 20 mins to fix
        lib/blacklight/access_controls/ability.rb on lines 86..90
        lib/blacklight/access_controls/ability.rb on lines 92..96

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

        def test_download(id)
        Rails.logger.debug("[CANCAN] Checking download permissions for user: #{current_user.user_key} with groups: #{user_groups.inspect}")
        group_intersection = user_groups & download_groups(id)
        !group_intersection.empty? || download_users(id).include?(current_user.user_key)
        end
        Severity: Minor
        Found in lib/blacklight/access_controls/ability.rb and 2 other locations - About 20 mins to fix
        lib/blacklight/access_controls/ability.rb on lines 80..84
        lib/blacklight/access_controls/ability.rb on lines 86..90

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

        def test_read(id)
        Rails.logger.debug("[CANCAN] Checking read permissions for user: #{current_user.user_key} with groups: #{user_groups.inspect}")
        group_intersection = user_groups & read_groups(id)
        !group_intersection.empty? || read_users(id).include?(current_user.user_key)
        end
        Severity: Minor
        Found in lib/blacklight/access_controls/ability.rb and 2 other locations - About 20 mins to fix
        lib/blacklight/access_controls/ability.rb on lines 80..84
        lib/blacklight/access_controls/ability.rb on lines 92..96
        Severity
        Category
        Status
        Source
        Language