Sha256: 58de5a5b4a8cdfb3bb5898106e1bd50d5f0aacda516f04be70f6bb694acbee1e

Contents?: true

Size: 618 Bytes

Versions: 5

Compression:

Stored size: 618 Bytes

Contents

# frozen_string_literal: true

module FinApps
  module REST
    class Sessions < FinAppsCore::REST::Resources # :nodoc:
      LOGOUT = 'logout'

      def create(params, path=nil)
        return super nil, path if path == LOGOUT
        raise FinAppsCore::InvalidArgumentsError.new 'Invalid argument: params.' unless validates params
        path ||= 'login'

        super params, path
      end

      def destroy
        create nil, LOGOUT
      end

      private

      def validates(params)
        params.key?(:email) && params[:email] && params.key?(:password) && params[:password]
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
finapps-4.0.3 lib/finapps/rest/sessions.rb
finapps-4.0.2 lib/finapps/rest/sessions.rb
finapps-4.0.1 lib/finapps/rest/sessions.rb
finapps-3.0.7 lib/finapps/rest/sessions.rb
finapps-3.0.6 lib/finapps/rest/sessions.rb