# APIFixtures loads fixture data generated by the core Stripe API so that we # can have slightly more accurate and up-to-date resource information in our # tests. class APIFixtures def initialize @fixtures = ::JSON.parse(File.read("#{PROJECT_ROOT}/openapi/fixtures.json"), symbolize_names: true)[:resources] freeze_recursively(@fixtures) end def [](name) @fixtures[name] end def fetch(*args) @fixtures.fetch(*args) end private def freeze_recursively(data) data.each do |k, v| if v.is_a?(Hash) freeze_recursively(v) end end data.freeze end end