Module: GraphStarter::Authorizable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/graph_starter/authorizable.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
Instance Method Details
#set_access_levels(model, access_levels) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/models/concerns/graph_starter/authorizable.rb', line 13 def set_access_levels(model, access_levels) records_by_id = model.where(id: access_levels.keys).index_by(&:id) model.where_not(id: records_by_id.keys) .query_as(:r) .match_nodes(this: self) .match('r-[rel:CAN_ACCESS]->(this)') .delete(:rel).exec access_levels.each do |id, level| CanAccess.create(from_node: records_by_id[id], to_node: self, level: level) end end |