Module: RoleAuthorization::ViewSecurity::ClassMethods
- Included in:
- RoleAuthorization::ViewSecurity
- Defined in:
- lib/role_authorization/view_security.rb
Overview
InstanceMethods
Instance Method Summary collapse
- #class_name_from_file(str) ⇒ Object
- #load_controller_classes ⇒ Object
- #maybe_load_framework_controller_parent ⇒ Object
- #qualified_const_get(klass) ⇒ Object
- #require_or_load(filename) ⇒ Object
- #rola_load(filename) ⇒ Object
Instance Method Details
#class_name_from_file(str) ⇒ Object
115 116 117 |
# File 'lib/role_authorization/view_security.rb', line 115 def class_name_from_file(str) str.split(".")[0].split("/").collect{|s| s.camelize }.join("::") end |
#load_controller_classes ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/role_authorization/view_security.rb', line 79 def load_controller_classes @controller_classes = {} maybe_load_framework_controller_parent Dir.chdir("#{Rails.root}/app/controllers") do Dir["**/*.rb"].sort.each do |c| next if c.include?("application") rola_load(c) end end end |
#maybe_load_framework_controller_parent ⇒ Object
92 93 94 95 96 97 98 99 |
# File 'lib/role_authorization/view_security.rb', line 92 def maybe_load_framework_controller_parent if ::Rails::VERSION::MAJOR >= 3 || (::Rails::VERSION::MAJOR >= 2 && ::Rails::VERSION::MINOR >= 3) filename = "application_controller.rb" else filename = "application.rb" end require_or_load(filename) end |
#qualified_const_get(klass) ⇒ Object
119 120 121 122 123 124 125 126 |
# File 'lib/role_authorization/view_security.rb', line 119 def qualified_const_get(klass) if klass =~ /::/ namespace, klass = klass.split("::") eval(namespace).const_get(klass) else const_get(klass) end end |
#require_or_load(filename) ⇒ Object
107 108 109 110 111 112 113 |
# File 'lib/role_authorization/view_security.rb', line 107 def require_or_load(filename) if ActiveSupport.const_defined?("Dependencies") ActiveSupport::Dependencies.require_or_load(filename) else Dependencies.require_or_load(filename) end end |
#rola_load(filename) ⇒ Object
101 102 103 104 105 |
# File 'lib/role_authorization/view_security.rb', line 101 def rola_load(filename) klass = class_name_from_file(filename) require_or_load(filename) @controller_classes[klass] = qualified_const_get(klass) end |