| 
									
										
										
										
											2013-06-04 11:05:02 -05:00
										 |  |  | class Module | 
					
						
							|  |  |  |   def attr_rw(*attrs) | 
					
						
							| 
									
										
										
										
											2013-12-12 14:16:43 -06:00
										 |  |  |     file, line, _ = caller.first.split(":") | 
					
						
							|  |  |  |     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
 | 
					
						
							| 
									
										
										
										
											2013-06-04 11:05:02 -05:00
										 |  |  |         def #{attr}(val=nil) | 
					
						
							|  |  |  |           val.nil? ? @#{attr} : @#{attr} = val | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       EOS | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |