class ZendeskAPI::Middleware::Response::ParseIsoDates

Parse ISO dates from response body @private

Public Instance Methods

call(env) click to toggle source
# File lib/zendesk_api/middleware/response/parse_iso_dates.rb, line 10
def call(env)
  @app.call(env).on_complete do |env|
    parse_dates!(env[:body])
  end
end

Private Instance Methods

parse_dates!(value) click to toggle source
# File lib/zendesk_api/middleware/response/parse_iso_dates.rb, line 18
def parse_dates!(value)
  case value
  when Hash then value.each { |key, element| value[key] = parse_dates!(element) }
  when Array then value.each_with_index { |element, index| value[index] = parse_dates!(element) }
  when /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z\Z/m then Time.parse(value)
  else
    value
  end
end