lib/rectify/rspec/stub_form.rb
module Rectify
class StubForm
attr_reader :attributes, :valid
def initialize(attributes)
@valid = attributes.fetch(:valid?, false)
@attributes = attributes.except!(:valid?)
end
def valid?
valid
end
def invalid?
!valid?
end
def method_missing(method_name, *args, &block)
if attributes.key?(method_name)
attributes[method_name]
elsif method_name.to_s.ends_with?("=")
attribute_name = method_name.to_s.chomp("=").to_sym
attributes[attribute_name] = args.first
else
super
end
end
def respond_to_missing?(method_name, _include_private = false)
attributes.key?(method_name)
end
end
end