module ARPG::Roles

Constants

VERSION

Public Instance Methods

roles(*roles, on: :roles) click to toggle source
# File lib/arpg/roles.rb, line 8
def roles(*roles, on: :roles)
  klass = (class << self; self; end)

  roles.each do |role|
    klass.send(:define_method, role) do
      where("'#{role}' = ANY(#{on})")
    end

    define_method(:"#{role}?") do
      send(on).include?(role.to_s)
    end
  end
end