Sha256: 755efc42985fa37ff5f80645d1eb0ee480e49df6d7d7d1676a63b8add9f72790

Contents?: true

Size: 1.44 KB

Versions: 4

Compression:

Stored size: 1.44 KB

Contents

module Runcible
  module Resources
    # @see https://pulp-dev-guide.readthedocs.org/en/latest/rest-api/user/index.html
    class User < Runcible::Base
      # Generates the API path for Users
      #
      # @param  [String]  login the user's login
      # @return [String]        the user path, may contain the login if passed
      def self.path(login = nil)
        login.nil? ? 'users/' : "users/#{login}/"
      end

      # Retrieves all users
      #
      # @return [RestClient::Response]
      def retrieve_all
        call(:get, path)
      end

      # Creates a user
      #
      # @param  [String]                login     the login requested for the user
      # @param  [Hash]                  optional  container for all optional parameters
      # @return [RestClient::Response]
      def create(login, optional = {})
        required = required_params(binding.send(:local_variables), binding)
        call(:post, path, :payload => { :required => required, :optional => optional })
      end

      # Retrieves a user
      #
      # @param  [String]                login the login of the user being retrieved
      # @return [RestClient::Response]
      def retrieve(login)
        call(:get, path(login))
      end

      # Deletes a user
      #
      # @param  [String]                login the login of the user being deleted
      # @return [RestClient::Response]
      def delete(login)
        call(:delete, path(login))
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
runcible-1.9.2 lib/runcible/resources/user.rb
runcible-1.9.1 lib/runcible/resources/user.rb
runcible-1.9.0 lib/runcible/resources/user.rb
runcible-1.8.0 lib/runcible/resources/user.rb