Sha256: 6cf47ee12c91ef9af8ec571826bf1ef23562fc32fe7d49978c2e257e45efab7c

Contents?: true

Size: 641 Bytes

Versions: 5

Compression:

Stored size: 641 Bytes

Contents

module Conjur::Policy::Executor
  class Update < Base
    include Annotate
    
    def execute
      statement.record.custom_attribute_names.each do |attr|
        value = statement.record.send(attr)
        action({ 
          'method' => 'put',
          'path' => update_path,
          'parameters' => { attr.to_s => value }
        })
      end
      
      annotate
    end

    def kind_path
      statement.record.resource_kind.pluralize
    end
    
    def update_path
      require 'cgi'
      [ kind_path, CGI.escape(statement.record.id) ].join('/')
    end
    
    def annotate_record
      statement.record
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
conjur-asset-policy-0.8.3 lib/conjur/policy/executor/update.rb
conjur-asset-policy-0.8.2 lib/conjur/policy/executor/update.rb
conjur-asset-policy-0.8.1 lib/conjur/policy/executor/update.rb
conjur-asset-policy-0.8.0 lib/conjur/policy/executor/update.rb
conjur-asset-policy-0.7.1 lib/conjur/policy/executor/update.rb