From: nobu@... Date: 2020-07-31T08:05:28+00:00 Subject: [ruby-core:99415] [Ruby master Bug#17096] attr_accessor doesnt work Issue #17096 has been updated by nobu (Nobuyoshi Nakada). Status changed from Open to Rejected `type` before and after `type =` are different things in Ruby. ---------------------------------------- Bug #17096: attr_accessor doesnt work https://bugs.ruby-lang.org/issues/17096#change-86866 * Author: mpavel (pavel m) * Status: Rejected * Priority: Normal * ruby -v: ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin17] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- its copy of incorrectly closed https://bugs.ruby-lang.org/issues/17093 ``` require 'rubygems' class A def initialize(type:) @type = type end def b p type p type.nil? type = 'default' if type.nil? type end private attr_accessor :type end RSpec.describe A do let(:type) { 'whoaaa' } it 'return default' do expect(A.new(type: type).b).to eq('default') end it 'instance variable is "whoaaa"' do expect(A.new(type: type).instance_variable_get(:@type)).to eq(type) end end all tests green output A "whoaaa" false return default instance variable is "whoaaa" ``` have a look on method b, "p type.nil?" prints false, but next line type = 'default' will run -- https://bugs.ruby-lang.org/ Unsubscribe: