| 
									
										
										
										
											2020-10-10 14:16:11 +02:00
										 |  |  | # typed: false | 
					
						
							| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 11:05:02 -05:00
										 |  |  | class Module | 
					
						
							|  |  |  |   def attr_rw(*attrs) | 
					
						
							| 
									
										
										
										
											2015-08-03 13:09:07 +01:00
										 |  |  |     file, line, = caller.first.split(":") | 
					
						
							| 
									
										
										
										
											2013-12-12 14:16:43 -06:00
										 |  |  |     line = line.to_i | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 11:05:02 -05:00
										 |  |  |     attrs.each do |attr| | 
					
						
							| 
									
										
										
										
											2013-12-12 14:16:43 -06:00
										 |  |  |       module_eval <<-EOS, file, line
 | 
					
						
							| 
									
										
										
										
											2020-11-10 00:28:45 +11:00
										 |  |  |         def #{attr}(val=nil)           # def prefix(val=nil) | 
					
						
							|  |  |  |           @#{attr} ||= nil             #   @prefix ||= nil | 
					
						
							|  |  |  |           return @#{attr} if val.nil?  #   return @prefix if val.nil? | 
					
						
							|  |  |  |           @#{attr} = val               #   @prefix = val | 
					
						
							|  |  |  |         end                            # end | 
					
						
							| 
									
										
										
										
											2013-06-04 11:05:02 -05:00
										 |  |  |       EOS | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |