lib/lhc/response/data/item.rb
# frozen_string_literal: true class LHC::Response::Data::Item < OpenStruct include LHC::Response::Data::Base def initialize(response, data: nil) @response = response @data = data set_dynamic_accessor_methods super(as_json) end def [](key) @hash ||= as_json.with_indifferent_access @hash[key] end private def set_dynamic_accessor_methods as_json.keys.each do |key| define_singleton_method key do |*args| as_open_struct.send key, *args end end end end