class ChurchCommunityBuilder::Person

Attributes

count[R]
people[R]
response[R]

Public Class Methods

new(response) click to toggle source
# File lib/church_community_builder/response/person.rb, line 7
def initialize(response)
  @response = response['ccb_api']['response']
  @people   = @response['individuals']
  @count    = @people['count'].to_i
end

Public Instance Methods

hydrate(person) click to toggle source
# File lib/church_community_builder/response/person.rb, line 23
def hydrate(person)
  OpenStruct.new(
    id: person['id'],
    family_id: person['family']['id'],
    first_name: person['first_name'],
    last_name: person['last_name'],
    email: person['email']
  )
end
parse() click to toggle source
# File lib/church_community_builder/response/person.rb, line 13
def parse
  return [] if count.zero? || people['individual'].nil?

  if count == 1 || people['individual'].is_a?(Hash)
    [hydrate(people['individual'])]
  else
    people['individual'].map { |p| hydrate(p) }
  end
end