flippercloud/flipper · error · ArgumentError
#{actor.inspect} must respond to flipper_id, but does not
Error message
#{actor.inspect} must respond to flipper_id, but does not What it means
Error "#{actor.inspect} must respond to flipper_id, but does not" thrown in flippercloud/flipper.
Source
Thrown at lib/flipper/types/actor.rb:15
module Flipper
module Types
class Actor < Type
def self.wrappable?(actor)
return false if actor.nil?
actor.respond_to?(:flipper_id)
end
attr_reader :actor
def initialize(actor)
raise ArgumentError, 'actor cannot be nil' if actor.nil?
unless actor.respond_to?(:flipper_id)
raise ArgumentError, "#{actor.inspect} must respond to flipper_id, but does not"
end
@actor = actor
@value = actor.flipper_id.to_s
end
def respond_to?(*args)
super || @actor.respond_to?(*args)
end
if RUBY_VERSION >= '3.0'
def method_missing(name, *args, **kwargs, &block)
@actor.send name, *args, **kwargs, &block
end
else
def method_missing(name, *args, &block)
@actor.send name, *args, &block
endView on GitHub (pinned to 1f86de3ec9)
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
When it happens
Trigger: Thrown at lib/flipper/types/actor.rb:15 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of flippercloud/flipper@1f86de3ec9 (2026-08-23).
Data as JSON: /api/errors/f8a0e055a469f924.
Report an issue: GitHub.