Method: Authorization::DevelopmentSupport::ChangeSupporter::Approach#state_hash

Defined in:
lib/declarative_authorization/development_support/change_supporter.rb

#state_hashObject



195
196
197
198
199
200
201
202
203
# File 'lib/declarative_authorization/development_support/change_supporter.rb', line 195

def state_hash
  @state_hash ||= @engine.auth_rules.inject(0) do |memo, rule|
      memo + rule.privileges.hash + rule.contexts.hash +
          rule.attributes.hash + rule.role.hash
    end +
      @users.inject(0) {|memo, user| memo + user.role_symbols.hash } +
      @engine.privileges.hash + @engine.privilege_hierarchy.hash +
      @engine.roles.hash + @engine.role_hierarchy.hash
end