Ruby에서 Cookie 값을 JSON 포맷으로 변환하기(Cookie format to JSON with hash!)

Ruby에서 Cookie 값을 JSON 포맷으로 변환하기(Cookie format to JSON with hash!)

in

테스트하던 코드 생각나서 정리해둡니다. Ruby에서 Cookie format의 데이터를 JSON으로 변환하기 위해선 hash를 이용해서 간단하게 만들 수 있습니다.

require 'json'

def cookie_to_json cookie
  # cookie 데이터를 hash로 만들기 위한 hash 객체 하나를 만들어줍니다.
  output = Hash.new 
  # cookie 데이터를 세미콜론 기준으로 잘라서 each-do 문에 넣어줍니다.
  cookie.split(/\s*;\s*/).each do |row|
    # 세미 콜론 단위로 자르면 각각 쿠키 속성과 값이 하나의 array로 넘어오며 다시 =(equal) 단위로 잘라줍니다.
    row = row.split(/\s*=\s*/) 
    output[row[0]] = row[1].sub('=','') # cookie => hash
    # 아래 입력값 예시대로면 아래와 같은 형태의 값이 들어가며
   # row[0] : sessions
   # row[1] : =abcd1234 
   # sub 메소드로 맨앞에 = 을 날려줍니다. 
  end
  # output에는 hash 형태로 저장했기 때문에 json 라이브러리에서 제공하는 to_json을 사용할 수 있습니다. 
  # to_json 으로 바꿔서 return 합니다.
  output.to_json # hash => json return
end

puts cookie_to_json "sessions=abcd1234; role=adminzzzz;"