Sha256: 714fb9078aa77d9aab44c4a06419eb74fcb5928c44db8c661cdab8a010e5c67c

Contents?: true

Size: 931 Bytes

Versions: 3

Compression:

Stored size: 931 Bytes

Contents

# frozen_string_literal: true
module FinApps
  module REST
    class Users < FinAppsCore::REST::Resources # :nodoc:
      using ObjectExtensions
      using StringExtensions

      # @param [String] public_id
      # @return [FinApps::REST::User, Array<String>]
      def show(public_id)
        not_blank(public_id, :public_id)
        super public_id
      end

      # @param [Hash] params
      # @return [Array<String>]
      def update(public_id, params)
        not_blank(public_id, :public_id)
        not_blank(params, :params)

        path = "#{end_point}/#{ERB::Util.url_encode(public_id)}#{'/password' if password_update?(params)}"
        super params, path
      end

      def destroy(public_id)
        not_blank(public_id, :public_id)
        super public_id
      end

      private

      def password_update?(params)
        params.key?(:password) && params.key?(:password_confirm)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
finapps-2.2.3 lib/finapps/rest/users.rb
finapps-2.2.2 lib/finapps/rest/users.rb
finapps-2.2.1 lib/finapps/rest/users.rb