clonk 2.2.6 → 2.2.7
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.
- checksums.yaml +4 -4
 - data/lib/clonk/connection.rb +1 -1
 - data/lib/clonk/permission.rb +18 -3
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 93b9278216f88d337974065bf71a3014b5a3a6421f3f614a898a1a7b516f4f8f
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6b38cf3e001df330e013b47e570fb5d849a883fa8f09570f9fd606f0087c53c1
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: b40ac53d91a5ee56b0d0841edb26286b8ddf6a23b62ad7fa89ad6a9e716ac542bab0d7b593f68bb7c8b2c1a852a791a1dc19ba749b6845a7da8fb1c74d6d2c30
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 6cfb83a42252b21c7275f44e290325d88386d4df4027a5ce07abf4fe7f2219336b72842341e302be21f6d93bd016eca288f9b21317ca3cb635cead056ed3860c
         
     | 
    
        data/lib/clonk/connection.rb
    CHANGED
    
    | 
         @@ -107,7 +107,7 @@ module Clonk 
     | 
|
| 
       107 
107 
     | 
    
         | 
| 
       108 
108 
     | 
    
         
             
                ##
         
     | 
| 
       109 
109 
     | 
    
         
             
                # Defines a Faraday::Connection object linked to the SSO instance.
         
     | 
| 
       110 
     | 
    
         
            -
                def connection(raise_error:  
     | 
| 
      
 110 
     | 
    
         
            +
                def connection(raise_error: false, json: true, token: @access_token)
         
     | 
| 
       111 
111 
     | 
    
         
             
                  Faraday.new(url: @base_url) do |faraday|
         
     | 
| 
       112 
112 
     | 
    
         
             
                    faraday.request(json ? :json : :url_encoded)
         
     | 
| 
       113 
113 
     | 
    
         
             
                    faraday.use Faraday::Response::RaiseError if raise_error
         
     | 
    
        data/lib/clonk/permission.rb
    CHANGED
    
    | 
         @@ -4,6 +4,9 @@ module Clonk 
     | 
|
| 
       4 
4 
     | 
    
         
             
              # Represents a permission in SSO. Methods on Clonk::Connection can be used to
         
     | 
| 
       5 
5 
     | 
    
         
             
              # index its policies, resources and associated scopes
         
     | 
| 
       6 
6 
     | 
    
         
             
              class Permission
         
     | 
| 
      
 7 
     | 
    
         
            +
                attr_reader :id
         
     | 
| 
      
 8 
     | 
    
         
            +
                attr_reader :name
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       7 
10 
     | 
    
         
             
                def initialize(permission_response)
         
     | 
| 
       8 
11 
     | 
    
         
             
                  @id = permission_response['id']
         
     | 
| 
       9 
12 
     | 
    
         
             
                  @name = permission_response['name']
         
     | 
| 
         @@ -12,11 +15,23 @@ module Clonk 
     | 
|
| 
       12 
15 
     | 
    
         | 
| 
       13 
16 
     | 
    
         
             
              # Defines a connection to SSO.
         
     | 
| 
       14 
17 
     | 
    
         
             
              class Connection
         
     | 
| 
       15 
     | 
    
         
            -
                 
     | 
| 
      
 18 
     | 
    
         
            +
                ##
         
     | 
| 
      
 19 
     | 
    
         
            +
                # Lists the permissions associated with an object.
         
     | 
| 
      
 20 
     | 
    
         
            +
                # If an object is not provided, all permissions in the realm-management
         
     | 
| 
      
 21 
     | 
    
         
            +
                # client are returned.
         
     | 
| 
      
 22 
     | 
    
         
            +
                def permissions(object: nil)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  # list all permissions from realm-management
         
     | 
| 
       16 
24 
     | 
    
         
             
                  realm_management = clients.find { |client| client.name == 'realm-management' }
         
     | 
| 
       17 
     | 
    
         
            -
                  objects( 
     | 
| 
       18 
     | 
    
         
            -
                     
     | 
| 
      
 25 
     | 
    
         
            +
                  all_permissions = objects(
         
     | 
| 
      
 26 
     | 
    
         
            +
                    type: 'Permission',
         
     | 
| 
      
 27 
     | 
    
         
            +
                    path: "#{url_for(realm_management)}/authz/resource-server/permission".delete_prefix(realm_admin_root)
         
     | 
| 
       19 
28 
     | 
    
         
             
                  )
         
     | 
| 
      
 29 
     | 
    
         
            +
                  return all_permissions unless object
         
     | 
| 
      
 30 
     | 
    
         
            +
                  # map the scopePermissions hash to a new one with the permission objects
         
     | 
| 
      
 31 
     | 
    
         
            +
                  object_permissions = parsed_response(path: "#{url_for(object)}/management/permissions")
         
     | 
| 
      
 32 
     | 
    
         
            +
                  object_permissions['scopePermissions'].to_h { |name, id| 
         
     | 
| 
      
 33 
     | 
    
         
            +
                    [name, all_permissions.find { |permission| permission.id == id }]
         
     | 
| 
      
 34 
     | 
    
         
            +
                  }
         
     | 
| 
       20 
35 
     | 
    
         
             
                end
         
     | 
| 
       21 
36 
     | 
    
         | 
| 
       22 
37 
     | 
    
         
             
                ##
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: clonk
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2.2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.2.7
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Simon Fish
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2019- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2019-02-19 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: faraday
         
     |