Class: JunglePath::Authorization::Filter
- Inherits:
-
Object
- Object
- JunglePath::Authorization::Filter
- Defined in:
- lib/jungle_path/authorization/filter.rb
Instance Method Summary collapse
- #has_access?(permission_restriction_name) ⇒ Boolean
- #has_permission?(permission_name) ⇒ Boolean
- #has_restriction?(restriction_name) ⇒ Boolean
-
#initialize(roles, schema_models_hash, role_permissions = {}, role_restrictions = {}, role_schema_filters = {}, schema_filters = {}) ⇒ Filter
constructor
A new instance of Filter.
- #is_root? ⇒ Boolean
- #is_user_admin? ⇒ Boolean
- #permissions ⇒ Object
- #restrictions ⇒ Object
- #roles ⇒ Object
- #root_roles ⇒ Object
- #schema_filter ⇒ Object
- #schema_node_tree ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(roles, schema_models_hash, role_permissions = {}, role_restrictions = {}, role_schema_filters = {}, schema_filters = {}) ⇒ Filter
Returns a new instance of Filter.
7 8 9 10 11 12 |
# File 'lib/jungle_path/authorization/filter.rb', line 7 def initialize roles, schema_models_hash, ={}, role_restrictions={}, role_schema_filters={}, schema_filters={} @schema_models_hash = schema_models_hash @role_permissions = @role_restrictions = role_restrictions eat_roles roles, , role_restrictions, role_schema_filters, schema_filters end |
Instance Method Details
#has_access?(permission_restriction_name) ⇒ Boolean
24 25 26 |
# File 'lib/jungle_path/authorization/filter.rb', line 24 def has_access? () and !(has_restriction?()) end |
#has_permission?(permission_name) ⇒ Boolean
28 29 30 31 32 33 34 35 |
# File 'lib/jungle_path/authorization/filter.rb', line 28 def puts "@permissions.keys #{@permissions.keys}." puts "has_permission? #{}." symbol = .to_sym has_it = symbol == @permissions[symbol] has_it = :root == @permissions[:root] unless has_it has_it end |
#has_restriction?(restriction_name) ⇒ Boolean
37 38 39 40 |
# File 'lib/jungle_path/authorization/filter.rb', line 37 def has_restriction? restriction_name symbol = restriction_name.to_sym symbol == @restrictions[symbol] end |
#is_root? ⇒ Boolean
14 15 16 17 |
# File 'lib/jungle_path/authorization/filter.rb', line 14 def is_root? @is_root = (:root) if @is_root == nil @is_root end |
#is_user_admin? ⇒ Boolean
19 20 21 22 |
# File 'lib/jungle_path/authorization/filter.rb', line 19 def is_user_admin? @is_user_admin = (:auth_admin) if @is_user_admin == nil @is_user_admin end |
#permissions ⇒ Object
42 43 44 |
# File 'lib/jungle_path/authorization/filter.rb', line 42 def @permissions.keys end |
#restrictions ⇒ Object
46 47 48 |
# File 'lib/jungle_path/authorization/filter.rb', line 46 def restrictions @restrictions.keys end |
#roles ⇒ Object
59 60 61 |
# File 'lib/jungle_path/authorization/filter.rb', line 59 def roles @roles[0..-1] end |
#root_roles ⇒ Object
63 64 65 66 67 68 69 70 |
# File 'lib/jungle_path/authorization/filter.rb', line 63 def root_roles return @root_roles if @root_roles @root_roles = {} @role_permissions.each do |k, v| @root_roles[k] = k if v.include? :root end @root_roles end |
#schema_filter ⇒ Object
50 51 52 |
# File 'lib/jungle_path/authorization/filter.rb', line 50 def schema_filter @schema_filter end |
#schema_node_tree ⇒ Object
54 55 56 57 |
# File 'lib/jungle_path/authorization/filter.rb', line 54 def schema_node_tree @schema_node_tree = JunglePath::Gen::SchemaTree.gen_node_tree(@schema_models_hash, JunglePath::Gen::SchemaTree::Filter.new(@schema_filter)) unless @schema_node_tree @schema_node_tree end |
#to_s ⇒ Object
72 73 74 |
# File 'lib/jungle_path/authorization/filter.rb', line 72 def to_s "roles: #{@roles}\npermissions: #{@permissions}\nrestrictions: #{@restrictions}\nschema_filter: #{@schema_filter}" end |