Sha256: 38bda74c00f43426778dab88aaabe84e43fefc6e93beb44817e672a05c19baa9
Contents?: true
Size: 1.14 KB
Versions: 1
Compression:
Stored size: 1.14 KB
Contents
# acting user is the acting user... okay class ActiveRecord::Base def view_permitted?(attribute) HyperMesh::InternalPolicy.accessible_attributes_for(self, acting_user).include? attribute.to_sym end def create_permitted? false end def update_permitted? false end def destroy_permitted? false end end module HyperMesh class InternalPolicy def self.accessible_attributes_for(model, acting_user) user_channels = ClassConnectionRegulation.connections_for(acting_user, false) + InstanceConnectionRegulation.connections_for(acting_user, false) internal_policy = InternalPolicy.new(model, model.attribute_names, user_channels) ChannelBroadcastRegulation.broadcast(internal_policy) InstanceBroadcastRegulation.broadcast(model, internal_policy) internal_policy.accessible_attributes_for end def accessible_attributes_for accessible_attributes = Set.new @channel_sets.each do |channel, attribute_set| accessible_attributes.merge attribute_set end accessible_attributes << :id unless accessible_attributes.empty? accessible_attributes end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hyper-mesh-0.4.0 | lib/synchromesh/reactive_record/permission_patches.rb |