# encoding: utf-8 class ISORecords attr_reader :data def initialize(path) @data = JSON.parse(File.read(path), :symbolize_names => true) end def values_for(fields) fields = [fields] unless fields.is_a?(Array) data.map{|record| fields.map{|field| record[field.to_sym] }}.flatten.compact.map(&:upcase) end def all(value, fields) fields = [fields] unless fields.is_a?(Array) return data if value.nil? data.select{|record| fields.any?{|field| record[field] == value}} end end