lujanfernaud/prevy

View on GitHub
app/models/group_membership.rb

Summary

Maintainability
A
0 mins
Test Coverage

Inconsistent indentation detected.
Open

    def add_user_role
      if group.all_members_can_create_events?
        user.add_role :organizer, group
      else
        user.add_role :member, group
Severity: Minor
Found in app/models/group_membership.rb by rubocop

This cops checks for inconsistent indentation.

Example:

class A
  def test
    puts 'hello'
     puts 'world'
  end
end

Do not use spaces between -> and opening brace in lambda literals
Open

  scope :by_creation_date, -> (group) {
    where(group: group).order(created_at: :desc)
  }
Severity: Minor
Found in app/models/group_membership.rb by rubocop

This cop checks for spaces between -> and opening parameter brace in lambda literals.

Example: EnforcedStyle: requirenospace (default)

# bad
  a = -> (x, y) { x + y }

  # good
  a = ->(x, y) { x + y }

Example: EnforcedStyle: require_space

# bad
  a = ->(x, y) { x + y }

  # good
  a = -> (x, y) { x + y }

Missing top-level class documentation comment.
Open

class GroupMembership < ApplicationRecord
Severity: Minor
Found in app/models/group_membership.rb by rubocop

This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

Example:

# bad
class Person
  # ...
end

# good
# Description/Explanation of Person class
class Person
  # ...
end

Inconsistent indentation detected.
Open

    def user_roles
      user.roles.where(resource: group).map do |role|
        role.name.to_sym
      end
    end
Severity: Minor
Found in app/models/group_membership.rb by rubocop

This cops checks for inconsistent indentation.

Example:

class A
  def test
    puts 'hello'
     puts 'world'
  end
end

Use the lambda method for multiline lambdas.
Open

  scope :by_creation_date, -> (group) {
Severity: Minor
Found in app/models/group_membership.rb by rubocop

This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

Example: EnforcedStyle: linecountdependent (default)

# bad
f = lambda { |x| x }
f = ->(x) do
      x
    end

# good
f = ->(x) { x }
f = lambda do |x|
      x
    end

Example: EnforcedStyle: lambda

# bad
f = ->(x) { x }
f = ->(x) do
      x
    end

# good
f = lambda { |x| x }
f = lambda do |x|
      x
    end

Example: EnforcedStyle: literal

# bad
f = lambda { |x| x }
f = lambda do |x|
      x
    end

# good
f = ->(x) { x }
f = ->(x) do
      x
    end

Do not use spaces between -> and opening brace in lambda literals
Open

  scope :confirmed, -> (group) {
    where(user: group.members.confirmed)
  }
Severity: Minor
Found in app/models/group_membership.rb by rubocop

This cop checks for spaces between -> and opening parameter brace in lambda literals.

Example: EnforcedStyle: requirenospace (default)

# bad
  a = -> (x, y) { x + y }

  # good
  a = ->(x, y) { x + y }

Example: EnforcedStyle: require_space

# bad
  a = ->(x, y) { x + y }

  # good
  a = -> (x, y) { x + y }

Inconsistent indentation detected.
Open

    def create_user_group_points
      UserGroupPoints.create!(user: user, group: group)
    end
Severity: Minor
Found in app/models/group_membership.rb by rubocop

This cops checks for inconsistent indentation.

Example:

class A
  def test
    puts 'hello'
     puts 'world'
  end
end

Inconsistent indentation detected.
Open

    def remove_user_roles
      user_roles.each do |role|
        user.remove_role role, group
      end
    end
Severity: Minor
Found in app/models/group_membership.rb by rubocop

This cops checks for inconsistent indentation.

Example:

class A
  def test
    puts 'hello'
     puts 'world'
  end
end

Use the lambda method for multiline lambdas.
Open

  scope :confirmed, -> (group) {
Severity: Minor
Found in app/models/group_membership.rb by rubocop

This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

Example: EnforcedStyle: linecountdependent (default)

# bad
f = lambda { |x| x }
f = ->(x) do
      x
    end

# good
f = ->(x) { x }
f = lambda do |x|
      x
    end

Example: EnforcedStyle: lambda

# bad
f = ->(x) { x }
f = ->(x) do
      x
    end

# good
f = lambda { |x| x }
f = lambda do |x|
      x
    end

Example: EnforcedStyle: literal

# bad
f = lambda { |x| x }
f = lambda do |x|
      x
    end

# good
f = ->(x) { x }
f = ->(x) do
      x
    end

Inconsistent indentation detected.
Open

    def destroy_user_group_points
      UserGroupPoints.find_by(user: user, group: group).destroy
    end
Severity: Minor
Found in app/models/group_membership.rb by rubocop

This cops checks for inconsistent indentation.

Example:

class A
  def test
    puts 'hello'
     puts 'world'
  end
end

There are no issues that match your filters.

Category
Status