From 7dd755c6bde1d1afe122e845d16dcb2e6d52d248 Mon Sep 17 00:00:00 2001 From: Yutaka Hosoai Date: Wed, 23 Mar 2016 16:13:33 -0700 Subject: [PATCH] Allow to compare hash to string --- lib/json-compare/comparer.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/json-compare/comparer.rb b/lib/json-compare/comparer.rb index d2b3c71..5253e4f 100644 --- a/lib/json-compare/comparer.rb +++ b/lib/json-compare/comparer.rb @@ -12,6 +12,8 @@ def compare_elements(old, new) if old.kind_of? Hash if new.kind_of? Array diff_hash = compare_hash_array(old, new) + elsif new.kind_of? String + diff_hash = compare_hash_string(old, new) else diff_hash = compare_hashes(old, new) end @@ -76,6 +78,17 @@ def compare_arrays(old_array, new_array) filter_results(result) end + def compare_hash_string(old_hash, new_string) + result = get_diffs_struct + if (new_string.include? ",") + return compare_hash_array(old_hash,new_string.split(",")) + else + result[:update][0] = new_string + result[:remove][0] = old_hash + end + filter_results(result) + end + def compare_hash_array(old_hash, new_array) result = get_diffs_struct