Sha256: d8d4f9b283e476d63eb098552b0a897420d75cd67a11ddbd364f88f4c9c512d3

Contents?: true

Size: 928 Bytes

Versions: 23

Compression:

Stored size: 928 Bytes

Contents

# frozen_string_literal: true
module Thredded
  module UserPermissions
    module Moderate
      module IfModeratorColumnTrue
        extend ActiveSupport::Concern
        included { extend ClassMethods }

        # @return [ActiveRecord::Relation<Thredded::Messageboard>] messageboards that the user can moderate
        def thredded_can_moderate_messageboards
          send(Thredded.moderator_column) ? Thredded::Messageboard.all : Thredded::Messageboard.none
        end

        module ClassMethods
          # Users that can moderate the given messageboards.
          #
          # @param _messageboards [Array<Thredded::Messageboard>]
          # @return [ActiveRecord::Relation<Thredded.user_class>] users that can moderate the given messageboards
          def thredded_messageboards_moderators(_messageboards)
            where(Thredded.moderator_column => true)
          end
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
thredded-0.3.2 app/models/thredded/user_permissions/moderate/if_moderator_column_true.rb
thredded-0.3.1 app/models/thredded/user_permissions/moderate/if_moderator_column_true.rb
thredded-0.3.0 app/models/thredded/user_permissions/moderate/if_moderator_column_true.rb