class Centaman::Service::CreateSecondaryMembers
Attributes
primary_member_id[R]
secondary_members[R]
Public Instance Methods
after_init(args)
click to toggle source
# File lib/centaman/service/create_secondary_members.rb, line 9 def after_init(args) @primary_member_id = args.fetch(:primary_member_id, nil) @secondary_members = args.fetch(:secondary_members, []) end
build_object(resp)
click to toggle source
# File lib/centaman/service/create_secondary_members.rb, line 22 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
endpoint()
click to toggle source
# File lib/centaman/service/create_secondary_members.rb, line 14 def endpoint '/member_services/Member' end
object_class()
click to toggle source
# File lib/centaman/service/create_secondary_members.rb, line 18 def object_class Centaman::Object::Member end
options_hash()
click to toggle source
# File lib/centaman/service/create_secondary_members.rb, line 29 def options_hash request_body = secondary_members.map { |m| build_member(m) } request_body.to_json end
Private Instance Methods
build_member(member)
click to toggle source
# File lib/centaman/service/create_secondary_members.rb, line 36 def build_member(member) return { 'FirstName' => member[:first_name].try(:squish).try(:upcase), 'LastName' => member[:last_name].try(:squish).try(:upcase), 'Gender' => member[:gender].try(:squish), 'Title' => member[:title].try(:squish).try(:upcase), 'DateOfBirth' => member[:date_of_birth], 'IsPrimary' => false, 'PrimaryMemberId' => primary_member_id } if member.is_a?(Hash) { 'FirstName' => member.first_name.try(:squish).try(:upcase), 'LastName' => member.last_name.try(:squish).try(:upcase), 'Gender' => member.gender.try(:squish), 'Title' => member.title.try(:squish).try(:upcase), 'DateOfBirth' => member.date_of_birth, 'IsPrimary' => false, 'PrimaryMemberId' => primary_member_id } end
create_error(resp)
click to toggle source
# File lib/centaman/service/create_secondary_members.rb, line 58 def create_error(resp) message = resp.parsed_response || 'Unable to create the member record(s).' raise Centaman::Exceptions::CentamanError.new(message) end