Sha256: 74edd57819b6c8b37d1696d5323a14917c76a76349c104bf5f0f3c320c1c0a1f
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 KB
Contents
module Centaman class Service::AuthenticateMember < Centaman::Service include Centaman::JsonWrapper attr_reader :member_number, :last_name, :email, :password def after_init(args) @member_number = args.fetch(:member_number, nil).try(:to_i) @last_name = args.fetch(:last_name, nil) @email = args.fetch(:email, nil) @password = args.fetch(:password, nil) end def endpoint '/member_services/Authentication' end def object_class Centaman::Object::Member end def build_object(resp) return build_objects(resp) if resp.respond_to?(:map) return auth_error(resp) unless resp.respond_to?(:merge) @build_object ||= object_class.new(resp.merge(additional_hash_to_serialize_after_response)) end def options_hash { 'MemberNumber' => member_number, 'Surname' => last_name, 'Email' => email, 'Password' => password }.to_json end private def auth_error(resp) p "error from #{self.class.name}" message = { error: resp.parsed_response || 'Authentication Failed. Invalid login credentials.' } raise message[:error] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
centaman-3.0.0 | lib/centaman/service/authenticate_member.rb |
centaman-2.1.0 | lib/centaman/service/authenticate_member.rb |