File tree Expand file tree Collapse file tree 3 files changed +35
-5
lines changed Expand file tree Collapse file tree 3 files changed +35
-5
lines changed Original file line number Diff line number Diff line change 11### 2.0.0.pre  
22
3- Version 2.0.0 is a maintenance release, it drops support for Ruby below 3, and 
4- changes the supported RSpec version to "main" and current release series.
5- (At the time of writing this is 3.13.x, but it means the current supported
6- release only).
3+ Version 2.0.0 drops support for Ruby below 3, and changes the supported RSpec version to "main" and current release series.
4+ (At the time of writing this is 3.13.x, but it means the current supported release only).
5+ 
6+ Breaking changes:
7+ 
8+ *  Now uses ` public_send `  so that private methods will not be accidentally reachable. (James Ottaway #33  , #101  )
79
810### 1.3.1 / 2024-10-23  
911[ full changelog] ( http://github.com/rspec/rspec-its/compare/v1.3.0...v1.3.1 ) 
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ def for(attribute, subject)
1515        else 
1616          attribute_chain  =  attribute . to_s . split ( '.' ) 
1717          attribute_chain . inject ( subject )  do  |inner_subject ,  attr |
18-             inner_subject . send ( attr ) 
18+             inner_subject . public_send ( attr ) 
1919          end 
2020        end 
2121      end 
Original file line number Diff line number Diff line change @@ -393,4 +393,32 @@ def self.example(*_args)
393393
394394    its ( :will_still_work )  {  is_expected . to  be  true  } 
395395  end 
396+ 
397+   context  "with private method"  do 
398+     subject ( :klass )  do 
399+       Class . new  do 
400+         def  name 
401+           private_name 
402+         end 
403+ 
404+         private 
405+ 
406+         def  private_name 
407+           "John" 
408+         end 
409+       end . new 
410+     end 
411+ 
412+     context  "when referring indirectly"  do 
413+       its ( :name )  {  is_expected . to  eq  "John"  } 
414+     end 
415+ 
416+     context  "when attempting to refer directly"  do 
417+       context  "it raises an error"  do 
418+         its ( :private_name )  do 
419+           expect  {  is_expected . to  eq ( "John" )  } . to  raise_error ( NoMethodError ) 
420+         end 
421+       end 
422+     end 
423+   end 
396424end 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments