Sha256: 544163f336005006e4a13fef3fe33b39c12d1a40b54b265745eceb03c4981915
Contents?: true
Size: 1.09 KB
Versions: 4
Compression:
Stored size: 1.09 KB
Contents
require 'json' module SmartRspec module Support module Controller module Response def json(response) @json ||= JSON.parse(response.body) self end def error @error ||= @json['errors'].first end def collection @collection ||= [@json['data']].flatten end def meta_record_count @json['meta']['record_count'] end def relationship_data @relationship_data ||= collection.flat_map do |record| record['relationships'].flat_map do |_, relation| [relation['data']].flatten.map { |data| data.slice('type', 'id') } end.compact end end def included_data return [] if @json['included'].nil? @included_data ||= @json['included'].flat_map do |record| record.slice('type', 'id') end end def check_keys_in(member, keys) collection.all? do |record| record[member].keys.sort == keys.sort end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems