26 lines
642 B
Ruby
26 lines
642 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Gitlab
|
||
|
module GithubImport
|
||
|
module Representation
|
||
|
TIMESTAMP_KEYS = %i[created_at updated_at merged_at].freeze
|
||
|
|
||
|
# Converts a Hash with String based keys to one that can be used by the
|
||
|
# various Representation classes.
|
||
|
#
|
||
|
# Example:
|
||
|
#
|
||
|
# Representation.symbolize_hash('number' => 10) # => { number: 10 }
|
||
|
def self.symbolize_hash(raw_hash = nil)
|
||
|
hash = raw_hash.deep_symbolize_keys
|
||
|
|
||
|
TIMESTAMP_KEYS.each do |key|
|
||
|
hash[key] = Time.parse(hash[key]) if hash[key].is_a?(String)
|
||
|
end
|
||
|
|
||
|
hash
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|