{"record":{"id":"f8a0e055a469f924","repo":"flippercloud/flipper","slug":"actor-inspect-must-respond-to-flipper-id-but-d","errorCode":null,"errorMessage":"#{actor.inspect} must respond to flipper_id, but does not","messagePattern":"#(.+?) must respond to flipper_id, but does not","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/flipper/types/actor.rb","lineNumber":15,"sourceCode":"module Flipper\n  module Types\n    class Actor < Type\n      def self.wrappable?(actor)\n        return false if actor.nil?\n        actor.respond_to?(:flipper_id)\n      end\n\n      attr_reader :actor\n\n      def initialize(actor)\n        raise ArgumentError, 'actor cannot be nil' if actor.nil?\n\n        unless actor.respond_to?(:flipper_id)\n          raise ArgumentError, \"#{actor.inspect} must respond to flipper_id, but does not\"\n        end\n\n        @actor = actor\n        @value = actor.flipper_id.to_s\n      end\n\n      def respond_to?(*args)\n        super || @actor.respond_to?(*args)\n      end\n\n      if RUBY_VERSION >= '3.0'\n        def method_missing(name, *args, **kwargs, &block)\n          @actor.send name, *args, **kwargs, &block\n        end\n      else\n        def method_missing(name, *args, &block)\n          @actor.send name, *args, &block\n        end","sourceCodeStart":1,"sourceCodeEnd":33,"githubUrl":"https://github.com/flippercloud/flipper/blob/1f86de3ec91521585b156445e156642938b19cb0/lib/flipper/types/actor.rb#L1-L33","documentation":"Error \"#{actor.inspect} must respond to flipper_id, but does not\" thrown in flippercloud/flipper.","triggerScenarios":"Thrown at lib/flipper/types/actor.rb:15 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Define flipper_id on the object (typically returning id.to_s), or wrap primitives with Flipper::Actor.new","Include Flipper::Actor or add a flipper_id method to your model","Pass a String/Integer id wrapped in Flipper::Actor instead of the raw object"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1f86de3ec91521585b156445e156642938b19cb0","analyzedAt":"2026-08-23T04:36:09.896Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}