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-client-0.1.2 lib/onering/plugins/authentication.rb
onering-client-0.1.1 lib/onering/plugins/authentication.rb
onering-client-0.0.99 lib/onering/plugins/authentication.rb
onering-client-0.0.98 lib/onering/plugins/authentication.rb
onering-client-0.0.97 lib/onering/plugins/authentication.rb
onering-client-0.0.96 lib/onering/plugins/authentication.rb
onering-client-0.0.95 lib/onering/plugins/authentication.rb
onering-client-0.0.94 lib/onering/plugins/authentication.rb
onering-client-0.0.93 lib/onering/plugins/authentication.rb
onering-client-0.0.92 lib/onering/plugins/authentication.rb
onering-client-0.0.91 lib/onering/plugins/authentication.rb
onering-client-0.0.90 lib/onering/plugins/authentication.rb
onering-client-0.0.89 lib/onering/plugins/authentication.rb
onering-client-0.0.88 lib/onering/plugins/authentication.rb
onering-client-0.0.87 lib/onering/plugins/authentication.rb
onering-client-0.0.86 lib/onering/plugins/authentication.rb
onering-client-0.0.85 lib/onering/plugins/authentication.rb
onering-client-0.0.84 lib/onering/plugins/authentication.rb
onering-client-0.0.83 lib/onering/plugins/authentication.rb
onering-client-0.0.82 lib/onering/plugins/authentication.rb