diff options
author | James Lopez <james@gitlab.com> | 2017-04-04 16:34:19 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-04-04 16:34:19 +0000 |
commit | 22d7ae80020e3d581d7bded2c2f3d5606a5e48ee (patch) | |
tree | a57e4669b88241baf8389f1a3faa4b057a1b4293 /lib/gitlab/import_export/hash_util.rb | |
parent | 82836af4e7bda539d03ceee8238f863268b2a46e (diff) | |
download | gitlab-ce-22d7ae80020e3d581d7bded2c2f3d5606a5e48ee.tar.gz |
Fix issues importing forked projects
Diffstat (limited to 'lib/gitlab/import_export/hash_util.rb')
-rw-r--r-- | lib/gitlab/import_export/hash_util.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/gitlab/import_export/hash_util.rb b/lib/gitlab/import_export/hash_util.rb new file mode 100644 index 00000000000..d4adeeb3797 --- /dev/null +++ b/lib/gitlab/import_export/hash_util.rb @@ -0,0 +1,25 @@ +module Gitlab + module ImportExport + class HashUtil + def self.deep_symbolize_array!(array) + return if array.blank? + + array.map! do |hash| + hash.deep_symbolize_keys! + + yield(hash) if block_given? + + hash + end + end + + def self.deep_symbolize_array_with_date!(array) + self.deep_symbolize_array!(array) do |hash| + hash.select { |k, _v| k.to_s.end_with?('_date') }.each do |key, value| + hash[key] = Time.zone.parse(value) + end + end + end + end + end +end |