Sha256: 8870b956c35e5d6132e6a607a0f559922f9981afd969f00fa120c8f39118dad7
Contents?: true
Size: 1.23 KB
Versions: 4
Compression:
Stored size: 1.23 KB
Contents
require 'papers_please/version' require 'papers_please/errors' require 'papers_please/policy' require 'papers_please/role' require 'papers_please/permission' require 'papers_please/rails/controller_methods' require 'papers_please/railtie' if defined? Rails module PapersPlease def self.permissions_table(policy_klass) require 'terminal-table' policy = policy_klass.new(:system) table = ::Terminal::Table.new do |t| t.headings = [ 'role', 'subject', 'permission', 'has query?', 'has predicate?', 'granted by other?' ] policy.roles.each_with_index do |(name, role), index| t.add_separator unless index.zero? first_line_of_role = true role.permissions.group_by(&:subject).each do |subject, permissions| permissions.each do |permission| t.add_row [ first_line_of_role ? name : nil, subject, permission.key, permission.query ? 'yes' : 'no', permission.predicate ? 'yes' : 'no', permission.granted_by_other? ? 'yes' : 'no', ] first_line_of_role = false end end end end puts table end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
papers_please-0.1.4 | lib/papers_please.rb |
papers_please-0.1.3 | lib/papers_please.rb |
papers_please-0.1.2 | lib/papers_please.rb |
papers_please-0.1.1 | lib/papers_please.rb |