Sha256: d8a3d013934b2f0049519dcfc65cb042c356ca60ac1b4f899b6b03537db72551
Contents?: true
Size: 814 Bytes
Versions: 15
Compression:
Stored size: 814 Bytes
Contents
class Hash def sort_by_key(&block) self.keys.sort(&block).reduce({}) do |seed, key| seed[key] = self[key] if seed[key].is_a?(Hash) seed[key] = seed[key].sort_by_key(&block) elsif seed[key].is_a?(Array) seed[key] = seed[key].map { |i| i.sort_by_key(&block) } end seed end end end Then /^the file "(.*?)" should contain JSON:$/ do |file, data| target = JSON.pretty_generate(JSON.parse(data).sort_by_key) actual = JSON.pretty_generate(JSON.parse(File.read(File.join(current_dir, file))).sort_by_key) expect(actual).to eq(target) end Then /^the output should contain JSON:$/ do |data| target = JSON.pretty_generate(JSON.parse(data).sort_by_key) actual = JSON.pretty_generate(JSON.parse(all_output).sort_by_key) expect(actual).to eq(target) end
Version data entries
15 entries across 15 versions & 1 rubygems