module Ez::Permissions::API::Models
Public Instance Methods
assign_role(model, role_name, scoped: nil)
click to toggle source
# File lib/ez/permissions/api/models.rb, line 7 def assign_role(model, role_name, scoped: nil) role = Ez::Permissions::API.get_role!(role_name) Ez::Permissions::ModelRole.find_or_create_by!( role: role, model: model, scoped: scoped ) end
includes_role?(model, role_name, scoped: nil)
click to toggle source
# File lib/ez/permissions/api/models.rb, line 23 def includes_role?(model, role_name, scoped: nil) role = Ez::Permissions::API.get_role!(role_name) model_role(role, model, scoped) ? true : false end
list_by_role(role_name, scoped: nil)
click to toggle source
# File lib/ez/permissions/api/models.rb, line 29 def list_by_role(role_name, scoped: nil) role = Ez::Permissions::API.get_role!(role_name) Ez::Permissions::ModelRole.where( role: role, scoped: scoped ).map(&:model) end
reject_role(model, role_name, scoped: nil)
click to toggle source
# File lib/ez/permissions/api/models.rb, line 17 def reject_role(model, role_name, scoped: nil) role = Ez::Permissions::API.get_role!(role_name) model_role(role, model, scoped)&.delete end
Private Instance Methods
model_role(role, model, scoped)
click to toggle source
# File lib/ez/permissions/api/models.rb, line 40 def model_role(role, model, scoped) Ez::Permissions::ModelRole.find_by( role: role, model: model, scoped: scoped ) end