expertiza/expertiza

View on GitHub
spec/controllers/sign_up_sheet_controller_spec.rb

Summary

Maintainability
F
6 days
Test Coverage

Block has too many lines. [721/25]
Open

describe SignUpSheetController do
  let(:assignment) { build(:assignment, id: 1, instructor_id: 6, due_dates: [due_date], microtask: true, staggered_deadline: true, directory_path: 'assignment') }
  let(:assignment2) { create(:assignment, id: 2, microtask: false, staggered_deadline: false, private: true, directory_path: 'assignment2') }
  let(:assignment3) { create(:assignment, id: 3, microtask: true, staggered_deadline: true, private: false, directory_path: 'assignment3') }
  let(:assignment30) { create(:assignment, id: 30, microtask: true, staggered_deadline: false, private: true, directory_path: 'assignment30') }

This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

File sign_up_sheet_controller_spec.rb has 723 lines of code (exceeds 250 allowed). Consider refactoring.
Open

describe SignUpSheetController do
  let(:assignment) { build(:assignment, id: 1, instructor_id: 6, due_dates: [due_date], microtask: true, staggered_deadline: true, directory_path: 'assignment') }
  let(:assignment2) { create(:assignment, id: 2, microtask: false, staggered_deadline: false, private: true, directory_path: 'assignment2') }
  let(:assignment3) { create(:assignment, id: 3, microtask: true, staggered_deadline: true, private: false, directory_path: 'assignment3') }
  let(:assignment30) { create(:assignment, id: 30, microtask: true, staggered_deadline: false, private: true, directory_path: 'assignment30') }
Severity: Major
Found in spec/controllers/sign_up_sheet_controller_spec.rb - About 1 day to fix

    Block has too many lines. [181/25]
    Open

      describe '#delete_all_selected_topics' do
        it 'delete_all_selected_topics with staggered deadline true and redirects to edit assignment page with single topic as input' do
          allow(SignUpTopic).to receive(:find).with(assignment_id: 1, topic_identifier: ['E1732']).and_return(topic)
          request_params = { assignment_id: 1, topic_ids: ['E1732'] }
          post :delete_all_selected_topics, params: request_params

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [69/25]
    Open

      describe '#delete_all_topics_for_assignment' do
        it 'deletes all topics for the assignment and redirects to edit assignment page' do
          allow(SignUpTopic).to receive(:find).with(assignment_id: '1').and_return(topic)
          request_params = { assignment_id: 1 }
          post :delete_all_topics_for_assignment, params: request_params

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [67/25]
    Open

      describe '#signup_as_instructor_action' do
        context 'when user cannot be found' do
          it 'shows an flash error message and redirects to assignment#edit page' do
            allow(User).to receive(:find_by).with(name: 'no name').and_return(nil)
            allow(User).to receive(:find).with(8).and_return(student)

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [62/25]
    Open

      describe '#create' do
        context 'when topic cannot be found' do
          context 'when new topic can be saved successfully' do
            it 'sets up a new topic and redirects to assignment#edit page' do
              allow(SignUpTopic).to receive(:where).with(topic_name: 'Hello world!', assignment_id: '1').and_return([nil])

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [54/25]
    Open

        context 'when user can be found' do
          before(:each) do
            allow(User).to receive(:find_by).with(name: 'no name').and_return(student)
          end
    
    

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [49/25]
    Open

      describe '#delete_signup_as_instructor' do
        before(:each) do
          allow(Team).to receive(:find).with('1').and_return(team)
          allow(TeamsUser).to receive(:find_by).with(team_id: 1).and_return(double('TeamsUser', user: student))
          allow(AssignmentParticipant).to receive(:find_by).with(user_id: 8, parent_id: 1).and_return(participant)

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [40/25]
    Open

      describe '#delete_signup' do
        before(:each) do
          allow(participant).to receive(:team).and_return(team)
        end
    
    

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [39/25]
    Open

        context 'when topic cannot be found' do
          context 'when new topic can be saved successfully' do
            it 'sets up a new topic and redirects to assignment#edit page' do
              allow(SignUpTopic).to receive(:where).with(topic_name: 'Hello world!', assignment_id: '1').and_return([nil])
              allow_any_instance_of(SignUpSheetController).to receive(:undo_link)

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [38/25]
    Open

      describe '#save_topic_deadlines' do
        context 'when topic_due_date cannot be found' do
          it 'creates a new topic_due_date record and redirects to assignment#edit page' do
            assignment.due_dates = [due_date, due_date2]
            allow(SignUpTopic).to receive(:where).with(assignment_id: '1').and_return([topic])

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [37/25]
    Open

          context 'when an assignment_participant can be found' do
            before(:each) do
              allow(AssignmentParticipant).to receive(:exists?).with(user_id: 8, parent_id: '1').and_return(true)
            end
    
    

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [33/25]
    Open

      describe '#update' do
        context 'when topic cannot be found' do
          it 'shows an error flash message and redirects to assignment#edit page' do
            allow(SignUpTopic).to receive(:find).with('1').and_return(nil)
            request_params = { id: 1, assignment_id: 1 }

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [28/25]
    Open

      describe '#list' do
        before(:each) do
          allow(SignUpTopic).to receive(:find_slots_filled).with(1).and_return([topic])
          allow(SignUpTopic).to receive(:find_slots_waitlisted).with(1).and_return([])
          allow(SignUpTopic).to receive(:where).with(assignment_id: 1, private_to: nil).and_return([topic])

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

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

        it 'create topic and delete_all_selected_topics for not a staggered deadline assignment and redirects to edit assignment page with multiple topic selected' do
          create(:topic, id: 30, assignment_id: 30, topic_identifier: 'E1735')
          create(:topic, id: 40, assignment_id: 30, topic_identifier: 'E1736')
          create(:topic, id: 50, assignment_id: 30, topic_identifier: 'E1737')
          create(:topic, id: 60, assignment_id: 30, topic_identifier: 'E1738')
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 1 other location - About 4 hrs to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 232..257

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 159.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'create topic and delete_all_selected_topics for a staggered deadline assignment and redirects to edit assignment page with multiple topic selected' do
          create(:topic, id: 30, assignment_id: 40, topic_identifier: 'E1735')
          create(:topic, id: 40, assignment_id: 40, topic_identifier: 'E1736')
          create(:topic, id: 50, assignment_id: 40, topic_identifier: 'E1737')
          create(:topic, id: 60, assignment_id: 40, topic_identifier: 'E1738')
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 1 other location - About 4 hrs to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 260..285

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 159.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'delete_all_selected_topics for a non private assignment and redirects to edit assignment page with multiple topic selected' do
          create(:topic, id: 2, assignment_id: 3, topic_identifier: 'topic2')
          create(:topic, id: 3, assignment_id: 3, topic_identifier: 'topic3')
          create(:topic, id: 8, assignment_id: 3, topic_identifier: 'topic4')
          request_params = { assignment_id: 3, topic_ids: %w[topic2 topic3] }
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 3 other locations - About 2 hrs to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 193..209
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 308..324
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 327..343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 104.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'delete_all_selected_topics for not microtask assignment and redirects to edit assignment page with multiple topic selected' do
          create(:topic, id: 6000, assignment_id: 7000, topic_identifier: 'topic6000')
          create(:topic, id: 7000, assignment_id: 7000, topic_identifier: 'topic7000')
          create(:topic, id: 8000, assignment_id: 7000, topic_identifier: 'topic8000')
          request_params = { assignment_id: 7000, topic_ids: %w[topic6000 topic7000] }
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 3 other locations - About 2 hrs to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 174..190
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 193..209
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 327..343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 104.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'delete_all_selected_topics for a microtask assignment and redirects to edit assignment page with multiple topic selected' do
          create(:topic, id: 6000, assignment_id: 6000, topic_identifier: 'topic6000')
          create(:topic, id: 7000, assignment_id: 6000, topic_identifier: 'topic7000')
          create(:topic, id: 8000, assignment_id: 6000, topic_identifier: 'topic8000')
          request_params = { assignment_id: 6000, topic_ids: %w[topic6000 topic7000] }
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 3 other locations - About 2 hrs to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 174..190
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 193..209
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 308..324

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 104.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'delete_all_selected_topics for a private assignment and redirects to edit assignment page with multiple topic selected' do
          create(:topic, id: 2, assignment_id: 2, topic_identifier: 'topic2')
          create(:topic, id: 3, assignment_id: 2, topic_identifier: 'topic3')
          create(:topic, id: 4, assignment_id: 2, topic_identifier: 'topic4')
          request_params = { assignment_id: 2, topic_ids: %w[topic2 topic3] }
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 3 other locations - About 2 hrs to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 174..190
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 308..324
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 327..343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 104.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        context 'when both submitted files and hyperlinks of current team are empty and drop topic deadline is nil' do
          it 'shows a flash success message and redirects to assignment#edit page' do
            allow(team).to receive(:submitted_files).and_return([])
            allow(team).to receive(:hyperlinks).and_return([])
            allow(SignedUpTeam).to receive(:find_team_users).with(1, 6).and_return([team])
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 1 other location - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 622..632

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 68.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        context 'when both submitted files and hyperlinks of current team are empty and drop topic deadline is nil' do
          it 'shows a flash success message and redirects to sign_up_sheet#list page' do
            allow(team).to receive(:submitted_files).and_return([])
            allow(team).to receive(:hyperlinks).and_return([])
            allow(SignedUpTeam).to receive(:find_team_users).with(1, 6).and_return([team])
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 1 other location - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 677..687

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 68.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'deletes all topics for the staggered deadline assignment and redirects to edit assignment page' do
          create(:topic, id: 30, assignment_id: 40, topic_identifier: 'E1740')
          create(:topic, id: 40, assignment_id: 40, topic_identifier: 'E1741')
          create(:topic, id: 50, assignment_id: 40, topic_identifier: 'E1742')
          request_params = { assignment_id: 40 }
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 1 other location - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 390..399

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 64.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'deletes all topics for the non-staggered deadline assignment and redirects to edit assignment page' do
          create(:topic, id: 30, assignment_id: 30, topic_identifier: 'E1740')
          create(:topic, id: 40, assignment_id: 30, topic_identifier: 'E1741')
          create(:topic, id: 50, assignment_id: 30, topic_identifier: 'E1742')
          request_params = { assignment_id: 30 }
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 1 other location - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 378..387

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 64.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'deletes all topics for the private assignment and redirects to edit assignment page' do
          create(:topic, id: 2, assignment_id: 2)
          create(:topic, id: 3, assignment_id: 2)
          request_params = { assignment_id: 2 }
          post :delete_all_topics_for_assignment, params: request_params.merge(format: :html)
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 3 other locations - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 367..375
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 402..410
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 413..421

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 55.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'deletes all topics for not microtask assignment and redirects to edit assignment page' do
          create(:topic, id: 6000, assignment_id: 7000)
          create(:topic, id: 7000, assignment_id: 7000)
          request_params = { assignment_id: 7000 }
          post :delete_all_topics_for_assignment, params: request_params.merge(format: :html)
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 3 other locations - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 356..364
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 367..375
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 402..410

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 55.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'deletes all topics for not private assignment and redirects to edit assignment page' do
          create(:topic, id: 2, assignment_id: 3)
          create(:topic, id: 3, assignment_id: 3)
          request_params = { assignment_id: 3 }
          post :delete_all_topics_for_assignment, params: request_params.merge(format: :html)
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 3 other locations - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 356..364
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 402..410
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 413..421

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 55.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'deletes all topics for the microtask assignment and redirects to edit assignment page' do
          create(:topic, id: 6000, assignment_id: 6000)
          create(:topic, id: 7000, assignment_id: 6000)
          request_params = { assignment_id: 6000 }
          post :delete_all_topics_for_assignment, params: request_params.merge(format: :html)
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 3 other locations - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 356..364
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 367..375
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 413..421

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 55.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'delete_all_selected_topics for a private assignment and redirects to edit assignment page with single topic selected' do
          create(:topic, id: 2, assignment_id: 2, topic_identifier: 'topic2')
          request_params = { assignment_id: 2, topic_ids: ['topic2'] }
          post :delete_all_selected_topics, params: request_params
          expect(flash[:success]).to eq('All selected topics have been deleted successfully.')
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 5 other locations - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 164..171
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 212..219
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 222..229
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 288..295
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 298..305

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 49.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'delete_all_selected_topics for a non private assignment and redirects to edit assignment page with single topic selected' do
          create(:topic, id: 2, assignment_id: 3, topic_identifier: 'topic2')
          request_params = { assignment_id: 3, topic_ids: ['topic2'] }
          post :delete_all_selected_topics, params: request_params
          expect(flash[:success]).to eq('All selected topics have been deleted successfully.')
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 5 other locations - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 154..161
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 212..219
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 222..229
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 288..295
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 298..305

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 49.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'create topic and delete_all_selected_topics for not a staggered deadline assignment and redirects to edit assignment page with single topic selected' do
          create(:topic, id: 30, assignment_id: 30, topic_identifier: 'E1734')
          request_params = { assignment_id: 30, topic_ids: ['E1734'] }
          post :delete_all_selected_topics, params: request_params
          expect(flash[:success]).to eq('All selected topics have been deleted successfully.')
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 5 other locations - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 154..161
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 164..171
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 212..219
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 288..295
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 298..305

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 49.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'create topic and delete_all_selected_topics for a staggered deadline assignment and redirects to edit assignment page with single topic selected' do
          create(:topic, id: 40, assignment_id: 40, topic_identifier: 'E1733')
          request_params = { assignment_id: 40, topic_ids: ['E1733'] }
          post :delete_all_selected_topics, params: request_params
          expect(flash[:success]).to eq('All selected topics have been deleted successfully.')
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 5 other locations - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 154..161
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 164..171
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 222..229
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 288..295
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 298..305

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 49.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'delete_all_selected_topics for not microtask assignment and redirects to edit assignment page with single topic selected' do
          create(:topic, id: 6000, assignment_id: 7000, topic_identifier: 'topic6000')
          request_params = { assignment_id: 7000, topic_ids: ['topic6000'] }
          post :delete_all_selected_topics, params: request_params
          expect(flash[:success]).to eq('All selected topics have been deleted successfully.')
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 5 other locations - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 154..161
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 164..171
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 212..219
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 222..229
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 288..295

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 49.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        it 'delete_all_selected_topics for a microtask assignment and redirects to edit assignment page with single topic selected' do
          create(:topic, id: 6000, assignment_id: 6000, topic_identifier: 'topic6000')
          request_params = { assignment_id: 6000, topic_ids: ['topic6000'] }
          post :delete_all_selected_topics, params: request_params
          expect(flash[:success]).to eq('All selected topics have been deleted successfully.')
    Severity: Major
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 5 other locations - About 1 hr to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 154..161
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 164..171
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 212..219
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 222..229
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 298..305

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 49.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        context 'when either submitted files or hyperlinks of current team are not empty' do
          it 'shows a flash error message and redirects to sign_up_sheet#list page' do
            allow(assignment).to receive(:instructor).and_return(instructor)
            request_params = { id: 1 }
            user_session = { user: instructor }
    Severity: Minor
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 1 other location - About 45 mins to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 645..652

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 41.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

        context 'when either submitted files or hyperlinks of current team are not empty' do
          it 'shows a flash error message and redirects to assignment#edit page' do
            allow(assignment).to receive(:instructor).and_return(instructor)
            request_params = { id: 1 }
            user_session = { user: instructor }
    Severity: Minor
    Found in spec/controllers/sign_up_sheet_controller_spec.rb and 1 other location - About 45 mins to fix
    spec/controllers/sign_up_sheet_controller_spec.rb on lines 596..603

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 41.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Indent the right brace the same as the start of the line where the left brace is.
    Open

              }

    This cops checks the indentation of the first key in a hash literal where the opening brace and the first key are on separate lines. The other keys' indentations are handled by the AlignHash cop.

    By default, Hash literals that are arguments in a method call with parentheses, and where the opening curly brace of the hash is on the same line as the opening parenthesis of the method call, shall have their first key indented one step (two spaces) more than the position inside the opening parenthesis.

    Other hash literals shall have their first key indented one step more than the start of the line where the opening curly brace is.

    This default style is called 'specialinsideparentheses'. Alternative styles are 'consistent' and 'align_braces'. Here are examples:

    Example: EnforcedStyle: specialinsideparentheses (default)

    # The `special_inside_parentheses` style enforces that the first key
    # in a hash literal where the opening brace and the first key are on
    # separate lines is indented one step (two spaces) more than the
    # position inside the opening parentheses.
    
    # bad
    hash = {
      key: :value
    }
    and_in_a_method_call({
      no: :difference
                         })
    
    # good
    special_inside_parentheses
    hash = {
      key: :value
    }
    but_in_a_method_call({
                           its_like: :this
                         })

    Example: EnforcedStyle: consistent

    # The `consistent` style enforces that the first key in a hash
    # literal where the opening brace and the first key are on
    # seprate lines is indented the same as a hash literal which is not
    # defined inside a method call.
    
    # bad
    hash = {
      key: :value
    }
    but_in_a_method_call({
                           its_like: :this
                          })
    
    # good
    hash = {
      key: :value
    }
    and_in_a_method_call({
      no: :difference
    })

    Example: EnforcedStyle: align_braces

    # The `align_brackets` style enforces that the opening and closing
    # braces are indented to the same position.
    
    # bad
    and_now_for_something = {
                              completely: :different
    }
    
    # good
    and_now_for_something = {
                              completely: :different
                            }

    Prefer Date or Time over DateTime.
    Open

            due_date.due_at = DateTime.now.in_time_zone - 1.day

    This cop checks for uses of DateTime that should be replaced by Date or Time.

    Example:

    # bad - uses `DateTime` for current time
    DateTime.now
    
    # good - uses `Time` for current time
    Time.now
    
    # bad - uses `DateTime` for modern date
    DateTime.iso8601('2016-06-29')
    
    # good - uses `Date` for modern date
    Date.iso8601('2016-06-29')
    
    # good - uses `DateTime` with start argument for historical date
    DateTime.iso8601('1751-04-23', Date::ENGLAND)

    Prefer Date or Time over DateTime.
    Open

            due_date.due_at = DateTime.now.in_time_zone - 1.day

    This cop checks for uses of DateTime that should be replaced by Date or Time.

    Example:

    # bad - uses `DateTime` for current time
    DateTime.now
    
    # good - uses `Time` for current time
    Time.now
    
    # bad - uses `DateTime` for modern date
    DateTime.iso8601('2016-06-29')
    
    # good - uses `Date` for modern date
    Date.iso8601('2016-06-29')
    
    # good - uses `DateTime` with start argument for historical date
    DateTime.iso8601('1751-04-23', Date::ENGLAND)

    Trailing whitespace detected.
    Open

            request_params = { 

    Trailing whitespace detected.
    Open

            

    Use 2 spaces for indentation in a hash, relative to the start of the line where the left curly brace is.
    Open

                '1_submission_1_due_date' => nil,

    This cops checks the indentation of the first key in a hash literal where the opening brace and the first key are on separate lines. The other keys' indentations are handled by the AlignHash cop.

    By default, Hash literals that are arguments in a method call with parentheses, and where the opening curly brace of the hash is on the same line as the opening parenthesis of the method call, shall have their first key indented one step (two spaces) more than the position inside the opening parenthesis.

    Other hash literals shall have their first key indented one step more than the start of the line where the opening curly brace is.

    This default style is called 'specialinsideparentheses'. Alternative styles are 'consistent' and 'align_braces'. Here are examples:

    Example: EnforcedStyle: specialinsideparentheses (default)

    # The `special_inside_parentheses` style enforces that the first key
    # in a hash literal where the opening brace and the first key are on
    # separate lines is indented one step (two spaces) more than the
    # position inside the opening parentheses.
    
    # bad
    hash = {
      key: :value
    }
    and_in_a_method_call({
      no: :difference
                         })
    
    # good
    special_inside_parentheses
    hash = {
      key: :value
    }
    but_in_a_method_call({
                           its_like: :this
                         })

    Example: EnforcedStyle: consistent

    # The `consistent` style enforces that the first key in a hash
    # literal where the opening brace and the first key are on
    # seprate lines is indented the same as a hash literal which is not
    # defined inside a method call.
    
    # bad
    hash = {
      key: :value
    }
    but_in_a_method_call({
                           its_like: :this
                          })
    
    # good
    hash = {
      key: :value
    }
    and_in_a_method_call({
      no: :difference
    })

    Example: EnforcedStyle: align_braces

    # The `align_brackets` style enforces that the opening and closing
    # braces are indented to the same position.
    
    # bad
    and_now_for_something = {
                              completely: :different
    }
    
    # good
    and_now_for_something = {
                              completely: :different
                            }

    There are no issues that match your filters.

    Category
    Status