File: //usr/local/rvm/gems/ruby-2.7.4/doc/activesupport-6.1.4.1/ri/Module/mattr_writer-i.ri
U:RDoc::AnyMethod[iI"mattr_writer:ETI"Module#mattr_writer;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [ I"RDefines a class attribute and creates a class and instance writer methods to ;TI"Oallow assignment to the attribute. All class and instance methods created ;TI"Owill be public, even if this method is called with a private or protected ;TI"access modifier.;To:RDoc::Markup::BlankLine o:RDoc::Markup::Verbatim; [I"module HairColors
;TI"! mattr_writer :hair_colors
;TI" end
;TI"
;TI"class Person
;TI" include HairColors
;TI" end
;TI"
;TI"/HairColors.hair_colors = [:brown, :black]
;TI"FPerson.class_variable_get("@@hair_colors") # => [:brown, :black]
;TI".Person.new.hair_colors = [:blonde, :red]
;TI"IHairColors.class_variable_get("@@hair_colors") # => [:blonde, :red]
;T:@format0o;
; [I".To omit the instance writer method, pass ;TI"J<tt>instance_writer: false</tt> or <tt>instance_accessor: false</tt>.;T@o;; [I"module HairColors
;TI"9 mattr_writer :hair_colors, instance_writer: false
;TI" end
;TI"
;TI"class Person
;TI" include HairColors
;TI" end
;TI"
;TI"APerson.new.hair_colors = [:blonde, :red] # => NoMethodError
;T;
0o;
; [I"3You can set a default value for the attribute.;T@o;; [I"module HairColors
;TI"K mattr_writer :hair_colors, default: [:brown, :black, :blonde, :red]
;TI" end
;TI"
;TI"class Person
;TI" include HairColors
;TI" end
;TI"
;TI"TPerson.class_variable_get("@@hair_colors") # => [:brown, :black, :blonde, :red];T;
0:
@fileI">lib/active_support/core_ext/module/attribute_accessors.rb;T:0@omit_headings_from_table_of_contents_below00I": default;T[[I"cattr_writer;To;; [ ;@=;0I"Y(*syms, instance_writer: true, instance_accessor: true, default: nil, location: nil);T@=FI"Module;TcRDoc::NormalClass00