tuersteher 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/tuersteher.rb +21 -3
- data/tuersteher.gemspec +2 -2
- metadata +4 -4
    
        data/lib/tuersteher.rb
    CHANGED
    
    | @@ -159,6 +159,7 @@ module Tuersteher | |
| 159 159 | 
             
                  rule!=nil && !rule.deny
         | 
| 160 160 | 
             
                end
         | 
| 161 161 |  | 
| 162 | 
            +
             | 
| 162 163 | 
             
                # Pruefen Zugriff auf ein Model-Object
         | 
| 163 164 | 
             
                #
         | 
| 164 165 | 
             
                # user        User, für den der Zugriff geprüft werden soll (muss Methode has_role? haben)
         | 
| @@ -183,6 +184,14 @@ module Tuersteher | |
| 183 184 | 
             
                  end
         | 
| 184 185 | 
             
                  access
         | 
| 185 186 | 
             
                end
         | 
| 187 | 
            +
             | 
| 188 | 
            +
                # Bereinigen (entfernen) aller Objecte aus der angebenen Collection,
         | 
| 189 | 
            +
                # wo der angegebene User nicht das angegebene Recht hat
         | 
| 190 | 
            +
                #
         | 
| 191 | 
            +
                # liefert ein neues Array mit den Objecten, wo der spez. Zugriff arlaubt ist
         | 
| 192 | 
            +
                def self.purge_collection user, collection, permission
         | 
| 193 | 
            +
                  collection.select{|model| model_access?(user, model, permission)}
         | 
| 194 | 
            +
                end
         | 
| 186 195 | 
             
              end
         | 
| 187 196 |  | 
| 188 197 |  | 
| @@ -229,10 +238,19 @@ module Tuersteher | |
| 229 238 | 
             
                  AccessRules.model_access? current_user, model, permission
         | 
| 230 239 | 
             
                end
         | 
| 231 240 |  | 
| 241 | 
            +
                # Bereinigen (entfernen) aller Objecte aus der angebenen Collection,
         | 
| 242 | 
            +
                # wo der akt. User nicht das angegebene Recht hat
         | 
| 243 | 
            +
                #
         | 
| 244 | 
            +
                # liefert ein neues Array mit den Objecten, wo der spez. Zugriff arlaubt ist
         | 
| 245 | 
            +
                def self.purge_collection collection, permission
         | 
| 246 | 
            +
                  AccessRules.purge_collection(current_user, collection, permission)
         | 
| 247 | 
            +
                end
         | 
| 248 | 
            +
             | 
| 249 | 
            +
             | 
| 232 250 | 
             
                def self.included(base)
         | 
| 233 251 | 
             
                  base.class_eval do
         | 
| 234 | 
            -
                    # Methoden | 
| 235 | 
            -
                    helper_method :path_access?, :model_access | 
| 252 | 
            +
                    # Diese Methoden  auch als Helper fuer die Views bereitstellen
         | 
| 253 | 
            +
                    helper_method :path_access?, :model_access?, :purge_collection
         | 
| 236 254 | 
             
                  end
         | 
| 237 255 | 
             
                end
         | 
| 238 256 |  | 
| @@ -329,7 +347,7 @@ module Tuersteher | |
| 329 347 |  | 
| 330 348 |  | 
| 331 349 | 
             
              class ModelAccessRule
         | 
| 332 | 
            -
                attr_reader :clazz, :access_type, : | 
| 350 | 
            +
                attr_reader :clazz, :access_type, :roles, :block
         | 
| 333 351 | 
             
                attr_accessor :deny
         | 
| 334 352 |  | 
| 335 353 | 
             
                # erzeugt neue Object-Zugriffsregel
         | 
    
        data/tuersteher.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = %q{tuersteher}
         | 
| 8 | 
            -
              s.version = "0.1. | 
| 8 | 
            +
              s.version = "0.1.4"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["Bernd Ledig"]
         | 
| 12 | 
            -
              s.date = %q{2010-08- | 
| 12 | 
            +
              s.date = %q{2010-08-22}
         | 
| 13 13 | 
             
              s.description = %q{Security-Layer for Rails-Application acts like a firewall.}
         | 
| 14 14 | 
             
              s.email = %q{bernd@ledig.info}
         | 
| 15 15 | 
             
              s.extra_rdoc_files = [
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: tuersteher
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 19
         | 
| 5 5 | 
             
              prerelease: false
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 1
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.1. | 
| 9 | 
            +
              - 4
         | 
| 10 | 
            +
              version: 0.1.4
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Bernd Ledig
         | 
| @@ -15,7 +15,7 @@ autorequire: | |
| 15 15 | 
             
            bindir: bin
         | 
| 16 16 | 
             
            cert_chain: []
         | 
| 17 17 |  | 
| 18 | 
            -
            date: 2010-08- | 
| 18 | 
            +
            date: 2010-08-22 00:00:00 +02:00
         | 
| 19 19 | 
             
            default_executable: 
         | 
| 20 20 | 
             
            dependencies: []
         | 
| 21 21 |  |