SpeciesFileGroup/taxonworks

View on GitHub
lib/export/basic_nomenclature.rb

Summary

Maintainability
A
1 hr
Test Coverage

Method has too many lines. [34/25]
Open

    def self.generate(taxon_name)
      ::CSV.generate(col_sep: "\t") do |csv|

        csv << %w{
          global_id
Severity: Minor
Found in lib/export/basic_nomenclature.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method generate has 34 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    def self.generate(taxon_name)
      ::CSV.generate(col_sep: "\t") do |csv|

        csv << %w{
          global_id
Severity: Minor
Found in lib/export/basic_nomenclature.rb - About 1 hr to fix

    Use syn.presence instead of syn.blank? ? nil : syn.
    Open

                syn.blank? ? nil : syn,
    Severity: Minor
    Found in lib/export/basic_nomenclature.rb by rubocop

    This cop checks code that can be written more easily using Object#presence defined by Active Support.

    Example:

    # bad
    a.present? ? a : nil
    
    # bad
    !a.present? ? nil : a
    
    # bad
    a.blank? ? nil : a
    
    # bad
    !a.blank? ? a : nil
    
    # good
    a.presence

    Example:

    # bad
    a.present? ? a : b
    
    # bad
    !a.present? ? b : a
    
    # bad
    a.blank? ? b : a
    
    # bad
    !a.blank? ? a : b
    
    # good
    a.presence || b

    Do not use Time.now without zone. Use one of Time.zone.now, Time.current, Time.now.in_time_zone, Time.now.utc, Time.now.getlocal, Time.now.xmlschema, Time.now.iso8601, Time.now.jisx0301, Time.now.rfc3339, Time.now.httpdate, Time.now.to_i, Time.now.to_f instead.
    Open

            name: "Basic nomenclature for #{taxon_name.cached} on #{Time.now}.",
    Severity: Minor
    Found in lib/export/basic_nomenclature.rb by rubocop

    This cop checks for the use of Time methods without zone.

    Built on top of Ruby on Rails style guide (https://github.com/rubocop-hq/rails-style-guide#time) and the article http://danilenko.org/2012/7/6/rails_timezones/

    Two styles are supported for this cop. When EnforcedStyle is 'strict' then only use of Time.zone is allowed.

    When EnforcedStyle is 'flexible' then it's also allowed to use Time.intimezone.

    Example: EnforcedStyle: strict

    # `strict` means that `Time` should be used with `zone`.
    
    # bad
    Time.now
    Time.parse('2015-03-02 19:05:37')
    
    # bad
    Time.current
    Time.at(timestamp).in_time_zone
    
    # good
    Time.zone.now
    Time.zone.parse('2015-03-02 19:05:37')

    Example: EnforcedStyle: flexible (default)

    # `flexible` allows usage of `in_time_zone` instead of `zone`.
    
    # bad
    Time.now
    Time.parse('2015-03-02 19:05:37')
    
    # good
    Time.zone.now
    Time.zone.parse('2015-03-02 19:05:37')
    
    # good
    Time.current
    Time.at(timestamp).in_time_zone

    Do not use Time.now without zone. Use one of Time.zone.now, Time.current, Time.now.in_time_zone, Time.now.utc, Time.now.getlocal, Time.now.xmlschema, Time.now.iso8601, Time.now.jisx0301, Time.now.rfc3339, Time.now.httpdate, Time.now.to_i, Time.now.to_f instead.
    Open

            name: "Basic nomenclature for #{taxon_name.cached} on #{Time.now}.",
    Severity: Minor
    Found in lib/export/basic_nomenclature.rb by rubocop

    This cop checks for the use of Time methods without zone.

    Built on top of Ruby on Rails style guide (https://github.com/rubocop-hq/rails-style-guide#time) and the article http://danilenko.org/2012/7/6/rails_timezones/

    Two styles are supported for this cop. When EnforcedStyle is 'strict' then only use of Time.zone is allowed.

    When EnforcedStyle is 'flexible' then it's also allowed to use Time.intimezone.

    Example: EnforcedStyle: strict

    # `strict` means that `Time` should be used with `zone`.
    
    # bad
    Time.now
    Time.parse('2015-03-02 19:05:37')
    
    # bad
    Time.current
    Time.at(timestamp).in_time_zone
    
    # good
    Time.zone.now
    Time.zone.parse('2015-03-02 19:05:37')

    Example: EnforcedStyle: flexible (default)

    # `flexible` allows usage of `in_time_zone` instead of `zone`.
    
    # bad
    Time.now
    Time.parse('2015-03-02 19:05:37')
    
    # good
    Time.zone.now
    Time.zone.parse('2015-03-02 19:05:37')
    
    # good
    Time.current
    Time.at(timestamp).in_time_zone

    There are no issues that match your filters.

    Category
    Status