class Hyperloop::InternalPolicy

Public Class Methods

accessible_attributes_for(model, acting_user) click to toggle source
# File lib/reactive_record/permissions.rb, line 12
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

Public Instance Methods

accessible_attributes_for() click to toggle source
# File lib/reactive_record/permissions.rb, line 21
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