Sha256: 887ef46b337a9ce7e038f0907a28dafa32222ec5b40a70cd7b5f29cb84b8dd2c
Contents?: true
Size: 1.19 KB
Versions: 3
Compression:
Stored size: 1.19 KB
Contents
require 'securerandom' module Centaman class Service::CreatePrimaryMember < Centaman::Service include Centaman::JsonWrapper attr_reader :first_name, :last_name, :email, :password def after_init(args) @first_name = args[:first_name] @last_name = args[:last_name] @email = args[:email] @password = args[:password] || SecureRandom.hex end def endpoint '/member_services/Member' end def object_class Centaman::Object::Member end def build_object(resp) return build_objects(resp) if resp.respond_to?(:map) return create_error(resp) unless resp.respond_to?(:merge) @build_object ||= object_class.new(resp.merge(additional_hash_to_serialize_after_response)) end def options_hash [ { 'FirstName' => first_name.try(:upcase), 'LastName' => last_name.try(:upcase), 'Email' => email.try(:upcase), 'Password' => password, 'IsPrimary' => true } ].to_json end private def create_error(resp) message = { error: resp.parsed_response || 'Unable to create primary member record.' } raise message[:error] end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
centaman-4.0.4 | lib/centaman/service/create_primary_member.rb |
centaman-4.0.3 | lib/centaman/service/create_primary_member.rb |
centaman-4.0.2 | lib/centaman/service/create_primary_member.rb |