Sha256: a97b2443f506dfe34a56c759eb7c07ef26c7a5a6ccece803b0bc9c4eec8626fc

Contents?: true

Size: 844 Bytes

Versions: 72

Compression:

Stored size: 844 Bytes

Contents

module Onering
  class API
    class Auth < API
      def _check_type(type)
        raise "Invalid authentication module object '#{type}'" unless %w{
          users groups capabilities
        }.include?(type.to_s)
      end

      def show(type, id='current')
        _check_type(type)
        get("#{type}/#{id}").parsed_response
      end

      def list(type, field='id', options={
        :unique => true,
        :sort   => true,
        :filter => nil
      })
        _check_type(type)
        rv = get("#{type}/list").parsed_response.collect{|i| i[field.to_s] }
        rv = rv.uniq if options[:unique]
        rv = rv.sort if options[:sort]
        rv
      end

      def save(type, id, data)
        _check_type(type)
        post("#{type}/#{id}", {
          :body   => data
        }).parsed_response
      end
    end
  end
end

Version data entries

72 entries across 72 versions & 2 rubygems

Version Path
onering-agent-0.4.4 lib/onering/plugins/authentication.rb
onering-agent-0.4.3 lib/onering/plugins/authentication.rb
onering-client-0.4.3 lib/onering/plugins/authentication.rb
onering-client-0.4.2 lib/onering/plugins/authentication.rb
onering-client-0.4.1 lib/onering/plugins/authentication.rb
onering-client-0.4.0 lib/onering/plugins/authentication.rb
onering-client-0.3.4 lib/onering/plugins/authentication.rb
onering-client-0.3.3 lib/onering/plugins/authentication.rb
onering-client-0.3.2 lib/onering/plugins/authentication.rb
onering-client-0.3.1 lib/onering/plugins/authentication.rb
onering-client-0.3.0 lib/onering/plugins/authentication.rb
onering-client-0.2.4 lib/onering/plugins/authentication.rb
onering-client-0.2.3 lib/onering/plugins/authentication.rb
onering-client-0.2.1 lib/onering/plugins/authentication.rb
onering-client-0.2.0 lib/onering/plugins/authentication.rb
onering-client-0.1.7 lib/onering/plugins/authentication.rb
onering-client-0.1.6 lib/onering/plugins/authentication.rb
onering-client-0.1.5 lib/onering/plugins/authentication.rb
onering-client-0.1.4 lib/onering/plugins/authentication.rb
onering-client-0.1.3 lib/onering/plugins/authentication.rb