raw_properties['gender'] Issue
Opened this issue · 1 comments
academey commented
private method의 gender 부분에서, gender property 를 요청하지 않으면 raw_properties['gender'] 가 nilClass error 를 발생시킵니다. 해당 부분에 대해서 if raw_properties['gender'].present? && raw_properties['gender'].include? 'M'
라는지 검증을 한 번 더 거쳐야 할 것 같습니다
def gender
return 'male' if raw_properties['gender'].include? 'M'
return 'female' if raw_properties['gender'].include? 'F'
end
kimsuelim commented
최근 release된 버전을 사용하시나요? 최근 버전에서는 변경된 API에 대응되어 이 문제가 발생하지 않을 것 같습니다.
raw_properties
hash에서 gender
를 access 시 값이 없다면 nil을 return하기에 return if raw_properties['gender'].nil?
에서 gender 값이 없는 예외를 처리하고 있습니다.
https://github.com/kimsuelim/omniauth-naver/blob/master/lib/omniauth/strategies/naver.rb#L32
hash 테스트
[4] pry(main)> hash = {}
=> {}
[5] pry(main)> hash['gender']
=> nil
[6] pry(main)> hash['gender'].nil?
=> true