{"record":{"id":"8f8865a66da19056","repo":"ankane/searchkick","slug":"relation-loaded","errorCode":null,"errorMessage":"Relation loaded","messagePattern":"Relation loaded","errorType":"exception","errorClass":"Searchkick::Error","httpStatus":null,"severity":"error","filePath":"lib/searchkick/relation.rb","lineNumber":693,"sourceCode":"    #   private_execute.to_a.as_json(...)\n    # end\n\n    def to_yaml\n      private_execute.to_a.to_yaml\n    end\n\n    private\n\n    def private_execute\n      @execute ||= query.execute\n    end\n\n    def query\n      @query ||= Query.new(@model, @term, **@options)\n    end\n\n    def check_loaded\n      raise Error, \"Relation loaded\" if loaded?\n\n      # reset query since options will change\n      @query = nil\n    end\n\n    # provides *very* basic protection from unfiltered parameters\n    # this is not meant to be comprehensive and may be expanded in the future\n    def ensure_permitted(obj)\n      obj.to_h\n    end\n\n    def initialize_copy(other)\n      super\n      # shallow dup and avoid updating values in-place\n      @options = @options.dup\n      @execute = nil\n    end\n","sourceCodeStart":675,"sourceCodeEnd":711,"githubUrl":"https://github.com/ankane/searchkick/blob/93e901a75b11a25101668a616e006b158251b16e/lib/searchkick/relation.rb#L675-L711","documentation":"Error \"Relation loaded\" thrown in ankane/searchkick.","triggerScenarios":"Thrown at lib/searchkick/relation.rb:693 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"93e901a75b11a25101668a616e006b158251b16e","analyzedAt":"2026-08-21T19:06:23.767Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}