diff --git a/lib/active_interaction/base.rb b/lib/active_interaction/base.rb index f54959c3..f75f609a 100644 --- a/lib/active_interaction/base.rb +++ b/lib/active_interaction/base.rb @@ -200,7 +200,7 @@ def process_inputs(inputs) inputs.each do |key, value| fail InvalidValueError, key.inspect if self.class.send(:reserved?, key) - instance_variable_set("@#{key}", value) + instance_variable_set("@#{key}", value) if respond_to?(key) end self.class.filters.each do |name, filter| diff --git a/spec/active_interaction/base_spec.rb b/spec/active_interaction/base_spec.rb index f1cceb03..832339ca 100644 --- a/spec/active_interaction/base_spec.rb +++ b/spec/active_interaction/base_spec.rb @@ -54,7 +54,7 @@ def execute end end - context 'with an attribute' do + context 'with a reader' do let(:described_class) do Class.new(TestInteraction) do attr_reader :thing