# == Schema Information # # Table name: perms # # id :integer not null, primary key # name :string # created_at :datetime not null # updated_at :datetime not null # class Perm < ActiveRecord::Base include ValidationMessages # ================ # = Associations = # ================ has_and_belongs_to_many :users, join_table: :users_perms # =============== # = Validations = # =============== validates :name, presence: { message: PRESENCE_MESSAGE }, uniqueness: { message: UNIQUENESS_MESSAGE } # ========== # = Scopes = # ========== scope :add_orgs, -> { Perm.find_by(name: 'add_organisations') } scope :change_affiliation, -> { Perm.find_by(name: 'change_org_affiliation') } scope :grant_permissions, -> { Perm.find_by(name: 'grant_permissions') } scope :modify_templates, -> { Perm.find_by(name: 'modify_templates') } scope :modify_guidance, -> { Perm.find_by(name: 'modify_guidance') } scope :use_api, -> { Perm.find_by(name: 'use_api') } scope :change_org_details, -> { Perm.find_by(name: 'change_org_details') } scope :grant_api, -> { Perm.find_by(name: 'grant_api_to_orgs') } end