module Opencnam::Parsers

Contains utility methods for parsing responses from OpenCNAM.

Private Instance Methods

parse_iso_date_string(date_string) click to toggle source

Parses an ISO 8601 formatted date string. @param [String] date_string @return [Time]

# File lib/opencnam/parsers.rb, line 9
def parse_iso_date_string(date_string)
  DateTime.iso8601(date_string).to_time
rescue ArgumentError
  nil
end
parse_json(json) click to toggle source

Parses a JSON string. @param [String] json the JSON formatted string @return [Hash]

# File lib/opencnam/parsers.rb, line 18
def parse_json(json)
  hash = JSON.parse(json, :symbolize_names => true)

  # Convert hash[:created] and hash[:updated] to Time objects
  if hash[:created]
    hash.merge!({ :created => parse_iso_date_string(hash[:created]) })
  end

  if hash[:updated]
    hash.merge!({ :updated => parse_iso_date_string(hash[:updated]) })
  end

  hash
end