lib/lhc/response/data.rb
# frozen_string_literal: true class LHC::Response::Data autoload :Base, 'lhc/response/data/base' autoload :Item, 'lhc/response/data/item' autoload :Collection, 'lhc/response/data/collection' include LHC::Response::Data::Base def initialize(response, data: nil) @response = response @data = data if as_json.is_a?(Hash) @base = LHC::Response::Data::Item.new(@response, data: data) elsif as_json.is_a?(Array) @base = LHC::Response::Data::Collection.new(@response, data: data) end end def method_missing(method, *args, &block) @base.send(method, *args, &block) end def respond_to_missing?(method_name, include_private = false) @base.respond_to?(method_name, include_private) || super end end